|
|
1
7
我非常喜欢“中描述的技术” The Pragmatic Programmer “。我也使用 TDD
这些似乎都是常识,但令人惊讶的是,当团队面临最后期限时,他们会如此迅速地偏离这些基本原则。 |
|
|
2
6
我喜欢这首歌
|
|
|
3
5
听起来你已经有两个了:
这三个可能比其他任何一个都更适合我:
风格元素 “由斯特伦克和怀特来编程。 每隔10分钟左右问问自己:“这是不是很蠢?”说实话。这个更难。
|
|
|
4
2
我试着用 Design by contract 尽可能多。但我发现这在我的工作领域很少实用。 |
|
5
2
我是你的粉丝
初始化局部变量。需要时,应设置它们。否则,阅读您的代码的程序员可能会像中一样感到困惑
|
|
|
6
2
我喜欢。。。 limit values in (java)doc . (参数是否可以为空?是否可以为空?)
该文件还明确区分了以下内容: static and runtime exceptions . 这样,如果为了提高健壮性,程序必须尽快失败,我知道它是因为预见到的异常(静态,必须在编码时通过捕获或重新抛出处理),还是因为参数不正确(运行时异常,仅在应用程序生存期内检测到)。
|
|
|
7
2
|
|
|
8
2
偏执狂是程序员的生存特征。不断地问自己这怎么会失败?然后试着找出如何防止失败。 |
|
9
2
我实施了多种方法来防止和恢复错误: 1) 处理所有异常。正如你所说,“处理每一个错误”。如果用户单击表单上的按钮,应用程序不可能从未处理的异常中消失(“poof”)。因此,我用一个通用的try-catch包装事件处理程序。
4) 永远不要假设线程安全。我从中学到了.NET非常多线程。许多事件在任意线程上处理。用.NET编写的给定应用程序可以有多个同时执行的线程,而没有一行代码显式创建线程。
5) 很简单,但我仍然看到它的发生。避免像瘟疫一样的全球性疾病。我看到过包含数百个未使用/重用变量的代码。这是一个混乱的弄清楚和重构。 |
|
|
10
1
硬件总是会出现故障,除此之外,还存在从外部进入系统的无效数据问题。我在这些领域的解决方案通常是精心设计的(为安全而设计),而在几乎所有其他领域的设计都是为失败而设计的,基本上只有极其简单的代码,根本没有数据验证。
为了进行调试,我有时编写不应输入的条件代码,该代码包含除零或类似的内容,以便在处理进入时立即调用调试器。 我通常不初始化本地堆栈变量,因为编译器告诉我哪些需要初始化,哪些可以完全忽略。
|