怎样才能写出好的软件程序
最近有个人发 Email 问我:“怎样才能写出好的软件程序”。之前,我身体有点不舒服,所以我漫无边际的说了下。现在好多了,所以我想分享一下以下这些想法,因为我觉得这些对于这次重要的讨论来说是一个有趣的起点。
NetSmell 出品
最近有个人发 Email 问我:“怎样才能写出好的软件程序”。之前,我身体有点不舒服,所以我漫无边际的说了下。现在好多了,所以我想分享一下以下这些想法,因为我觉得这些对于这次重要的讨论来说是一个有趣的起点。
当时,我写道:
- 好程序并不只是可以编译而已,它还会沟通。它会和现在的你交谈,也会和以后维护代码的你交谈。它对于你的团队和任何外部来查看的人来说都是可以被理解的。
- 好程序对可靠性和可测试性的要求胜过聪明的小技巧。如果需要清晰的表明自己的意图和结果,好程序会更倾向于使用一个或多个额外的步骤来表达。
- 好程序也考虑其使用程度,一段代码一次跑一百万遍和只跑一遍的要求是不同的,就好比在树林里的一棵树和孤零零的一棵树那样。
- 好程序即使被分解了也可以成为合理的单元,而不是大规模的单一的实现。
- 好程序不仅仅是实现一次或两次,而且还要审查和重构。这才有可能让它成为最好的和最健壮的实现。
- 好程序会考虑到全球化,并提供给不同文化的潜在用户。添加国际化以及相关的可访问性,这些真的是代码层面的事情,而不是嘴上说说的马后炮而已。
- 好程序不仅仅考虑今天具体运行在什么环境上,也考虑如何适应这些可能随时间变化的环境。
以上是我想到的,你对我关于这个“好程序是怎样炼成的”话题列出的清单有什么想添加、删除、修改的?期待看到你们的想法。
更新
Seivan Heidari 建议添加:好程序会在作为 API 为外面调用时,不提供内部的实现细节。
Anonymous 建议添加:好程序是浑然天成的。好程序可以照你需要的样子执行,且能被按时交付,其余的都是扯蛋哈哈。
Dave DeLong 建议添加:好程序会让读的人产生敬畏,并使读的人受到启发从而也去写自己的好程序。
Paul Cantrell 建议添加:好程序会注意权衡。它会根据工程来权衡,而不是按照绝对的教条。它也不会让工具或技术成为组内状态标记(in-group status markers)。
Rainer Brockerhoff 建议添加:好程序可以被很轻松的重用(即使是在几年之后),也能只用几行代码来进行扩展或改编。
显示余下内容
第一眼看到这个手机高清壁纸,值了
「可怜的东西」尺度炸裂,女神这么脱,值么?
《蜘蛛夫人》别看,史上最差超英电影,烂到家了!
《凯洛的末日日常》Netflix新片末日疯狂跌破眼镜!
《利益区域》不见血的暴行!尺度堪比禁片,不寒而栗
《忍者神威》开局9.1分!好久没这么爽了
《爱爱内含光》这部性喜剧,除了性还能看到什么?
「杀人者的难堪」他这一锤,拿下网飞Top1
《群星》Apple TV开年惊悚王炸!美剧又出息了!
「阿盖尔:神秘特工」太意外了,年后第一部大片,竟然这么爽!
奥斯卡最大黑马?全片无台词的电影凭什么!
剧版《史密斯夫妇》瞎改经典,全网抵制,打脸了?
2024必看神作!《首尔之春》太敢拍了!
韩剧《共助》从头爽到尾,这部谍战电影帅爆了!
地狱客栈 第一季 8.6,该动画已屏蔽全体儿童
《杀人者的购物中心》又来一部王炸爽剧,杀疯了
《12年级的失败》神片来袭,印度版“小镇做题家”太上头!
《地狱客栈》第一季单集9.0分,千年等一回,这神仙动画我爱了
《荒野》马东锡血浆片,虽烂但爽
韩剧《观相》豪华阵容 狂飙演技,宋康昊首部古装大片!
电影「花千骨」怒冲3.5,「开年第一烂」出现了!
发表回复