2009年12月2日星期三

程序员应有的小习惯?

一个 ASP.NET/C# 程序员写了一篇东西,总结自己在五年职业生涯中的错误:没有使用适合的 ORM,没有及时学习和应用 Generics,重复制造轮子,过度编写文档,没有自动化打包,过度依赖视觉检查后进行除错,没有进行单元测试。一共七点。

对于 ORM 的争论似乎从来没有停止过;对于我这个只有四年非专业程序员来说,ORM 带来的性能问题是致命的,特别是对于 PHP 来说。或者这应该分别而论:对于类似 PHP 这般无状态、运行时编译的语言来说,我觉得不宜用 ORM。或者到了 N 台高性能服务器专门运行 PHP 线程、数据库已经分离至独立的服务器(群)中运行、大规模地部署缓存——这个时候 ORM 就不是瓶颈了;但我还是喜欢不来 ORM。或者我的程序员年龄到五岁的时候,我会喜欢上 ORM?

第二点说到 Generics,简单看了一下说明,指的是 C# 2.0 中的一个无类型数据结构。对于 PHP/Python/JavaScript 来说,三者都是无类型的;因此强类型的数组造成的复杂性我只能通过想象来了解它的复杂性。这里了解不多,该住嘴。

重复制造轮子,过度编写文档,没有自动化打包,没有进行单元测试,这四点都是常年讨论的问题了。

至于“过度依赖视觉检查后进行除错”——这里我自觉翻译得不好,原文是“rely on visual inspection and debugging too much”,大概指的就是因为模块之间的依赖性太大,无法分开测试;而整体编译后再通过输出报错到界面来检查错误是很高成本的。这一点恰恰和是否单元测试组成了一个很有趣的问题。

这文看看就好了;要检查自己写代码中的习惯,就有很多书和很多文章在讨论了;如果没有实践过,其中的选择还是各自的观点吧。

标签:

0 条评论:

发表评论

订阅 博文评论 [Atom]

<< 主页