什么造就好的代码?
来源:互联网 发布:网络安全编程技术 编辑:程序博客网 时间:2024/04/28 05:30
一个好的程序运行没有瑕疵,没有臭虫。到底是什么内在的因素使然呢?其实这并不神秘,我们只需要偶尔用点心思提醒自己,无论是使用C/C++、C#、Java、Basic、Perl、COBOL 还是 ASM 进行编码,所有好的编码无不显示出同样的特点:简洁 、易读、模块性、分层、设计、效率、优雅和明晰。
简洁意味着你能用五行完成的代码,就不要用十行。这需要你额外的努力去简化,但不要过分以至让代码晦涩难懂。组织,实现和设计的简洁,可以使你的代码更可靠,远离Bug,不出错。
易读就是要让别人能读懂你的代码。需要写好注释,遵循变量命名规范,不要自作聪明的任意命名。例如“taxrate”就比“tr”要好。
模块性是说你的程序像宇宙万物一样。这个世界是由分子组成的,而分子是由原子,电子,核子,夸克和谎言(如果你相信的话)组成。同样,好的大型系统程序是由一些小的部分组成,而这些小的部分则由更小的 构件块组成。你可以写一个只有最基本功能的文本编辑器:移动,插入和删除。正如原子可以以各种奇妙的方式组合,组件可以被重用一样。
分层让你的程序从内部看起来像一块夹心蛋糕。应用程序建立在框架之上,而框架建立在操作系统之上,而操作系统又建立在硬件之上。即使是在应用程序内部,仍然需要分层,比如:文件-档案-视图-框架(File-Document-View-Frame)等。高层会对低层进行调用(调用下行,响应上行)。低层永远都不会知道上面的高层是什么。如果Doc直接调用Frame,事情就会变的很糟糕。模块和分层是通过API来定的,API对它们的边界进行限定。由此看来,设计是非常关键的。
设计意味着在你的程序建立之前,需要花时间对它进行很好的设计。毕竟,早期的认真构思比后期的费力调试要合算得多。一个值得称道的准则是用一半的时间进行设计。你需要有一份功能说明书(描述程序做什么)和一份开发计划。所有的API必须书写成档。
效率意味着你的程序运行快而且代价小。不会引起文件以及数据链接等的冗余。它仅仅做它应该做的。有序地进行加载与卸载。在函数层面上,你总是可以在测试中不断的进行优化。但在更高的层次,对性能你必须有很好的计划。
优雅和美一样,你很难去描述,但却很容易识别。优雅是汇集了简洁,高效和华丽而创造出的一种感觉。比如:
int fact( int n ){return n==0 ? 1 : n * fact(n-1);}
明晰是所有其它特性中最重要的一个。计算机为创造比物理硬件复杂的多的软件系统提供了可能性。编程最大的挑战就是管理复杂性。简洁、易读、模块化、分层、设计、效率和优雅都是非常好的达到明晰的 途径,专门用来对付复杂性。明晰的编码、明晰的设计、明晰的目的。在每一个层面上,你必须真正理解你所做的一切,否则就是不明晰。一个不好的程序之所以失败,通常不是由于缺少编码技巧,而是没有一个明确的目标。这就是为什么设计是最重要的原因。它让你诚实,如果你不能写下来,你不能向他人解释,你就没有真正明白你所做的事情。
- 什么造就好的代码?
- 什么造就好的代码?
- 我们的高中教育造就了什么?
- 什么造就了杰出的程序开发者?
- 什么造就了杰出的程序开发者?
- 什么造就了伟大的程序员?
- 好的搜索技巧能够造就好的程序员
- 什么造就了中国的XP系统依赖症
- 提问:什么因素造就了「社交」的关系?
- 好习惯造就好生活
- 10种好习惯造就办公室里的成功
- 10种好习惯造就办公室里的成功
- 五种好女人造就好男人
- 什么好写的?
- 生活规律及常识-一个好的生活环境造就良好的人生
- 天才的造就
- 偶然造就的缘分
- 什么特性造就了Android快速启动
- 多线程,多显示场景图形设计:一种新的过程模型
- 我为什么要进国企——HP大中华区总裁孙振耀退休感言 (每次阅读都有新体会,推荐)
- 开发框架:Spring XML配置十二个最佳实践
- 性能分析工具
- 判断语句的直白性
- 什么造就好的代码?
- 第三方类库--I/O包中的 Decorator模式
- VC++动态链接库(DLL)编程深入浅出(四)
- C#路径/文件/目录/I/O常见操作汇总
- 关于QA部门的绩效管理
- VC++中如何访问javascript中Array对象的元素
- Linux网络配置
- 键盘键和键代码值
- Java 理论和实践:用软引用阻止内存泄漏