共计 690 个字符,预计需要花费 2 分钟才能阅读完成。
写在前面
作为一名有追求的程序员,在完成项目的前提下,应该总是希望能够编写出便于阅读、便于扩展、结构良好的代码,简单概括的话,就是编写出优雅的代码。
一些团队在编码规范上,只要求了工程结构分层,并没有对如何编写优雅的代码进行更多的要求。
举个例子,团队可能要求开发 Web 程序时,工程有如下分层:
Controller
:编写控制器;Business
:编写业务;Dao
:编写数据库访问;Entity
:编写实体类;Util
:编写工具类;
其中,以 Business
为例,团队并没有约定 Business
中的那些业务实现类如何设计。也许在大团队中,会有专职的架构师来对业务进行需求分析、绘制 UML 图、编写概要设计、详细设计。但多数团队并没有这样好的条件,更多的时候,是由架构师负责定义好技术架构,研发工程师负责进行需求实现(与业务人员或产品经理对接)。
如果是后面一种情况(研发直接负责需求实现),软件的可扩展性就完全落到研发的身上。
有些团队会因为时间紧张,任务繁重而放弃程序的扩展性,举个例子:一个功能模块编写一个业务实现类。如果是一个长期维护的项目,放弃扩展性可能会在首次研发阶段节省一点时间,但就长远来看,要付出的代价有可能会更多。
所以,如果在编写业务代码时,能自然而然的考虑扩展性,这样才能算是一名合格的软件工程师吧?
因此,我想把我从书本中学到的知识、从实战中收获的经验,进行一次全面的总结,希望自己能从这次总结中学习到更多,也希望能总结中的某一点,能对其他同行起到帮助。
参考书籍
- 《Head First 设计模式》
- 《图解设计模式》
- 《设计模式之禅》
- 《领域驱动设计》
- 《重构》
- 《Effective Java》
正文完