ECMBoss企业内容解决方案项目系列之(三)编程之美
来源:互联网 发布:迅雷知乎 编辑:程序博客网 时间:2024/05/23 19:19
如果说软件系统架构是人的骨架,编程语言是人的肤色,那么代码就是人的外貌。对于一个软件工程师而言,他想的不仅仅是他自己的美,更有他的编程之美。如果他想超越自己,想要达到更高的高度,那么他要做的就不仅仅是一份工作,不是完成了系统的功能就算完工,他应该能够写出整洁的代码,有思想的代码,有灵魂的代码,这也就是我们所说的编程之美。
编程之美,美在于整洁
如果软件产品像硬件产品一样,产品一旦成型,产品的内部结构就不允许改变,那么我们实在没有必要去严格审查代码。但是软件产品是可复制的,而且需要经常更新升级的,我们就有必要让软件代码像我们的面子一样美丽。这样别人在维护我们的代码时,才不会因为读不懂代码而Delete掉。
一份好的代码,首先应该有整洁的形式。整洁的代码,应该是代码块中不包括不必要的注释,不乱使用代码格式化,页面中尽量去除警告等。刚开始写程序的程序员总是懒的写的注释,经过领导的几次批评之后,往往整个页面都是注释。正确是的注释应该是针对方法和难以理解的结构体写注释,而不应该在方法内或者循环结构体内写太多注释性的文字。
有些程序员因为图省事,经常使用编译器自带的格式化来格式化代码,但是对于一些较长的句子来说,编译器格式化后的代码就未必便于真的阅读。所以,你不能不会用代码格式化,但是千万不要乱使用代码格式化。
警告不会影响系统的运行,但是看着自己的类下面挂着一个 !号,是否有些不爽呢,尽管它不会影响代码的编译,也不影响系统的运行。但是作为一个过来人,我要告诉你的是,让你的代码没有警告,绝对是让你的领导对你另眼相看的途径之一。
编程之美,美在于结构
一份好的代码,首先应该有良好的结构,并且遵循高内聚与低耦合的法则。也许你在编程时,系统架构师已经确定了系统的架构,你所做的所有编码工作都是按照系统的架构进行的,你觉得你所写的所有代码都是符合系统的结构,但是你有没有想过,什么样的代码才是有良好结构的代码。
系统架构层与层之间的调用只是结构的一部分,在每一层的内部仍是系统结构的一部分。比如以我们经常写的Service层而言,我们在这一层要做的是完成一个独立的功能,我们在保证事务的前提下,完成对Dao层的多个方法的调用,这就是一个独立的结构。有时候,我们一个方法要完成的功能太强大了,整个代码块太大了,这时候我们就要考虑把一些公用的独立的方法提取出来,作为Service层私有方法,以完成该功能。
编程之美,美在于灵魂
要写出诗一般的代码,就要让代码具有灵性,那么如何才能写出有灵魂的代码呢?首先在整洁之美与结构之美的基础上,将编程者的思想融入其中,代码不仅仅是体现功能的木乃伊。有灵性的代码,首先能够应该面对世界,也就是能够做到国际化支持,尽管国际化只是在不同的语言下显示相应的内容,但是又有多少人真正的做到完美的国际化支持呢?
有灵性的代码,应该灵活的处理常量,中文在前后端转换过程中经常发生编码错误,我们将这些常量放在数据字典中,防止此类问题。有灵性的代码,还应该能够统一处理异常。当系统发生异常时,我们要能够及时Catch 和 Throw,最好有自己专门处理异常的类,尽管系统中已经有了异常类,我们通过自己创建的异常类来处理异常,能够及时发现系统中的异常,并将正确的信息反馈给用户。
编程之美,美在于编程者的心
有时候,项目太紧了,领导者总是催进度,我们经常为了实现功能而Ctrl+C. 尽管系统的功能实现了,但是整洁之美,结构之美都丢失了,更别提灵魂之美了。如果我们想要让自己的代码永久的存在下去,想要自己的代码不受领导的责备,想要自己的代码能够得到领导的表扬,那么就在每天工作的空闲时间优化一下自己的代码,让自己的代码和自己一样美丽。
编程之美,还有很多更美的地方,要靠自己去发现。
- ECMBoss企业内容解决方案项目系列之(三)编程之美
- ECMBoss企业内容解决方案项目系列之(二)人力资源整合组建项目精英开发团队
- ECMBoss企业内容解决方案项目系列之(一) 开篇的序
- ECMBoss企业内容解决方案项目系列之(四)架构师如何决定系统的架构
- ECMBoss企业内容解决方案项目系列之(五)我们为什么写日报
- ECMBoss企业内容解决方案项目系列之(六)那些不得不说的Defect
- ECMBoss企业内容解决方案项目系列之(七)我的同事离职了
- ECMBoss企业内容解决方案项目系列之(八)朋友,你被卖了
- ECMBoss企业内容解决方案项目系列之(九)那些零碎的笔记
- ECMBoss企业内容解决方案项目系列之(十)Bug那些事儿
- ECMBoss企业内容解决方案项目系列之(十一)UAT那些事
- 编程之美系列(1)
- 编程之美系列(2)
- 编程之美系列(3)
- 编程之美系列(4)
- 编程之美系列(5)
- 编程之美系列(5)
- 读书日记之编程之美系列(一)
- Qt简单 TreeView实现
- 一例胜千言,SQL Sever数据库中的锁25例
- 《精通CSS与HTML设计模式》读书笔记1——CSS选择符与继承
- MySQL 中文模糊查询不正确问题解决方案 .
- HDU 4069 Squiggly Sudoku DLX
- ECMBoss企业内容解决方案项目系列之(三)编程之美
- Android opensource
- Qt中 QString 和int, char等的“相互”转换
- abinitio
- ExtJs4_RegistrationForm示例浅析;
- <Android应用开发之一>常用控件声明
- stm32通用定时器
- 回调的使用
- ExtJs4_DynamicForms示例浅析;