由于工作原因,常常会在各种编程语言技术栈下切换。每次切回到C/C++技术栈下,都会为C/C++语言缺乏一个好用的包管理器而不适应好一阵。 包管理器的存在可以让程序功能单元的组...
由于工作原因,常常会在各种编程语言技术栈下切换。每次切回到C/C++技术栈下,都会为C/C++语言缺乏一个好用的包管理器而不适应好一阵。 包管理器的存在可以让程序功能单元的组...
以下都是被问过的问题,我会把觉得适合放一起回答的归在同一篇中,写完后的在此文中放出链接。 如果还有其它问题,也欢迎跟帖留言。如果我能回答,在有时间的时候会往后继续补充。 《“...
“C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it...
本文通过Bazel(Google Build Tool)构建工具,使用Cut(C++ Unified Test Framework)快速构建一个C++程序的TDD环境,以此阐...
迭代1:快速实现 需求1:实现一个计算器,完成加减乘除运算 这是一个很糟糕的设计,存在很多的坏味道。 类型不安全 一般地,用户按照规则传递正确的op常量。 但不排除用户传递错...
一 前两天,有人专程跑到我的文章《类与封装》留言,说数据结构更加抽象,更加稳定,因而OO的封装不make sense。为了证明其观点,还专门引用了Fred Brooks在《人...
根据正交设计的基本原则,如果设计出现重复的控制逻辑,可抽象出稳定的抽象;借助于Scala强大的可扩展能力,可以将「小括号」神奇地转换为「大括号」,让用户代码感觉是一种新的控制...
一 一群盲人被带到一头大象面前,让他们摸摸大象像什么。一个瞎子摸到了大象的腿,说大象像一棵树;另一个瞎子摸到了大象的耳朵,说大象像一个扇子;第三个摸着大象的身体,说它像一堵墙...
Project Configuration 上篇介绍的全局配置会作为每个工程的默认配置,所以像代码风格之类的配置,如果工程没有特殊需要一般不用再配置。工程属性里面主要关注于工...