有一些编程问题与信仰有关, 当管理者试图要求统一时可能会激怒程序员, 这些问题包括:

  • 编程语言;
  • 缩进风格;
  • 大括号的摆放位置;
  • 所用的集成开发环境;
  • 注释风格;
  • 效率与可读性的取舍;
  • 对方法的选择(如 Scrum, 极限编程, 渐进交付);
  • 编程工具;
  • 命名习惯;
  • 对 goto 的使用;
  • 对全局变量的使用;
  • 量度(特别是有关生产力的量度, 如每天编写的代码行数).

--<<代码大全>>

心理取向(Psychological Set)是这样一种现象: 人们看到的是他们所希望看到的东西.

比如下图里, "春天里的巴黎":

春天里的巴黎

你看到几个 "the" 了? 这种取向常常导致调试时的盲目.

--<<代码大全>>

交流路径的数量与项目成员数量的平方大致成正比.

当有 10 名程序员时, 相互间的交流路径就有 45 条.

当程序员的数目到达 50 时, 其潜在的交流路径将超过 1200 条.

对于一个大的项目, 改善交流效率的常用方法是采用正式的文档.

--<<代码大全>>

交流路径

有关程序员编程生产力的个体差异的一份研究发现:

最好和最差的程序员的初始编码用时比例为 20:1, 调试用时比例为 25:1, 程序规模比例为 5:1, 程序执行速度比例为 10:1;

一句话总结: 程序员之间有着数量级的差异(不过薪水的差异却不会如此~~)

--<<代码大全>>

Bell 实验室曾经做过一份程序员怎样花时间的调查, 发现一个程序员大约有 30% 的时间花费在"对项目没有直接好处"的非技术性活动之上: 步行, 个人事务等等.

其中, 有 6% 的时间花费在走路上, 一个星期大概是 2.5 小时.

--<<代码大全>>