软件工程的迷途和沉思 (3)

第三,几乎任何语言和技术都有好坏的两面,都有适用性,比如C,它虽然欠缺抽象能力,但是它的核心语法集非常简单,简单意味着聚焦和可靠,意味着对程序员的要求更低,你只需要掌握几十年不变的少数几十个STD C API便能构建所有应用,但你必须认识到它在抽象能力和开发效率上的不足。而C++虽然有良好的抽象能力,但它的语法集太庞大,而且似乎很难约束大家都在最小的公共知识面行事,但如果能够达成共识,又或者大家水平都比较高,它编写的程序确实有更好的可维护性。

第四,纪律!对,纪律才是关键,一套方法体系不管有多么的完美,如果团队不能严格地执行方法体系规定的纪律,都是空谈。无论是整洁编码还是架构设计还是敏捷开发还是领域建模,只有持之以恒的一致性的遵守纪律,用纪律施加约束,才能持续改进质量。

最后,虽然没有银弹,但我们不应该过于悲观,软件工程一直在迂回中前进,每进一步,就能够解决一大片问题,同时引入一些可控的副作用,但宏观上来看,软件工程还是伴随人类社会在不断进步。

所以,何不尝试接受不完美?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyfwg.html