代码设计的探索
2009-05-12 06:47:45来源:未知 阅读 ()
简单性和清晰性是第一位的、最重要的。因为几乎所有其他东西都只能跟着它们而来。做那种最简单的能解决问题的东西,选择那些应该是足够快的最简单的算法、能够满足需要的最简单的数据结构;用整齐清楚的代码把它们组合起来。除非性能测试的结果说明需要做更多的事,我们绝不要把事情复杂化。接口应该是整齐和简单的,至少是在发现无可辩驳的证据、说明把它弄得复杂一些有极大优越性之前。
普遍性常与简单性同在。它使我们可能一次就完全解决了问题,而不是对各种情况一个个地重复去做。普遍性常常也是达到可移植的正确途径:找一个一般性的,能够在所有系统上工作的解,而不是去扩大不同系统之间的差异。
不断进化。想第一次就构造出一个绝好的程序通常是不可能的。发现正确解决方法的必要洞察力只能来自思考和经验的结合;纯粹的内省不可能造就出好系统,纯粹靠玩命干也不行。由用户得来的反馈在这个地方非常重要。通过循环的方式:原型、试验、用户反馈和进一步精化,常常是最有效的。我们自己构建的程序常常进化的不够;从别人那里买来的大程序变得太快,根本没经过必要的改进。
减少耦合。接口是程序设计战斗中的一个大战场,接口问题出现在许多不同的地方。程序库是最明显的例子,还有不同程序之间的、程序与用户之间的接口问题。对简单性和普遍性的需求在接口设计方面表现得特别强烈。我们应该使接口具有一致性,容易学习和使用,应该一丝不苟地追求这些东西。应该把实现细节都隐蔽在边界后面,这永远是最安全的方法。
符号标记。一直被忽视,实际上它远不仅仅是程序员告诉计算机去做什么时采用的方式。符号标记提供了一种组织框架,在实现应用领域非常广泛的各种工具方面,对指导人们去构造那种写程序的程序方面都很有价值。我们对大型的通用程序设计语言都很习惯了,它们为我们的大量程序设计工作服务。但有时也会发现面前的工作变得非常集中,已经理解得很清楚,写这种程序几乎完全是机械性的。这可能就预示着一个时机,说明应该建立一种能自然地表达有关工作的符号标记和一个实现它的语言。正则表达式是我们最喜爱的例子,实际中存在着无数的这种机会,在那里我们可以为对付特殊工作建立一个小语言。当然,这种语言绝不应该复杂到抵消掉其收益的程度。
作为程序员,我们很容易沉醉于新的工具和技术,但是,从长远的观点看,真正起作用的还是看我们在使用一些基础技术和规则的情况下工作的怎么样。通过应用本文中的某些思想,你将能够发现你的代码更容易用了,你的排错过程也不再那么痛苦了,你对自己的程序设计更加有自信心了。希望你在自己的程序员生涯中获得更多的成果和回报。
代码设计的过程
他(洛克菲勒)用经营管理的方法将打球(高尔夫)的动作分解开;一天他将球打出了160码远,于是它的妻子惊叹:“我应当知道,你做什么都比别人强”
------ 荣 . 切尔诺
我开始这样做的时候,我的代码至少减少了50%的BUG,而开发的效率提高了更多;当我成了项目经理的时候,我毫不迟疑的将它推广到整个项目组,它如此优秀超出了我的预想,以至于我觉得要向你收取费用!
目标的认识
对代码干什么、有哪些限制和约束、编码规范是什么等等,要有清晰、明确的认识,如果文档或者任务安排有不明白的地方要“不耻下问”,当然有时会有争论,但是总比最后痛苦的修改代码强。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:我在软件公司成长的三年
下一篇:以自由软件为生
- 一个网页设计师到年入170万美金 - 人物志一个网页设计师到年 2019-11-21
- 5分钟交互设计指南系列:对话框5分钟交互设计指南系列:对话 2019-07-18
- 网页设计有难题?12款网页设计模板给你灵感! 网页设计有难 2018-06-25
- 设计作品集网站的时候,如何善用超大字体元素 2018-06-25
- 我们观察到,2018年网页文本字体的设计趋势有这7种我们观察 2018-06-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash