在高质量软件中,你可以看到“架构的概念完整性”与“其底层实现”之间的关系。“实现”必须与(指导该实现的)“架构”保持一致,并且这种一致性是内在的、固有的。这正是变量名称、类的名称、子程序名称、格式约定、注释约定等这些针对“构建活动”的指导方针的关键所在。
在一个复杂的程序中,架构上的指导方针使得程序的结构平衡,针对“构建活动”的指导方针则提供了底层的协调,将每个类(class)都衔接到一种完整的设计(comprehensive design)中,成为其可靠的部件。任何大型的程序都需要一个控制结构,该结构可以统一编程语言的细节。大型结构的部分魅力在于,各个具体部件都能反映整体架构的内涵。假如没有一种统一的规则,你创作出来的东西将会充斥着各种不同的风格,显得混乱而邋遢。这些不同的风格将使你的大脑承受沉重负担--而这仅仅是为了理解不同编程风格之间的(本质上是随意的)差异。成功编程的一个关键就在于避免随意地变化,这样你的大脑可以专注于那些真正需要的变化。
在成熟的技术环境下一—浪潮的末尾,例如21世纪最初10年的中期的网络编程——我们受益于丰富的软件开发基础设施。在浪潮的后期,我们有大量的编程语言可供选择,拥有能对这些语言的代码进行完善的错误检查的工具、强大的调试工具以及自动的可靠的性能优化工具。编译器几乎没有bug.各种工具都有很好的文档,它们来自工具提供商、第三方书籍文章以及大量的Web资源。各种工具集成在一起,因此可以在单个开发环境里面设计用户界面、数据库、报表、业务逻辑等。如果确实遇到问题了,很容易就可以在常见问题列表(FAQ)中找到对工具的各种古怪行为的描述。此外,还有许多顾问可供咨询,训练课程也随处可见。
理解“在一种语言上编程”和“深入一种语言去编程”的区别,对于理解本书是至关重要的。大多数重要的编程原则并不依赖特定的语言,而依赖于你使用语言的方式。如果你使用的语言缺乏你希望用的构件,或者倾向于出现其他种类的问题,那就应该试着去弥补它。发明你自己的编码约定、标准、类库以及其他改进措施。
每种编程语言都有其优点和弱点。要知道你使用的语言的明确优点和弱点。在开始编程之前,做好一些约定( convention)。“改变代码使之符合这些约定”是近乎不可能的。
“构建的实践方法”的种类比任何单个项目能用到的要多。有意识地选择最适合你的项目的实践方法。
问问你自己,你采用的编程实践是对你所用的编程语言的正确响应,还是受它的控制?
请记得“深入一种语言去编程”,不要仅“在一种语言上编程”。
你在技术浪潮中的位置决定了哪种方法是有效的─-甚至是可能用到的。
确定你在技术浪潮中的位置,并相应调整计划和预期目标。
标签:架构,语言,编程语言,读书笔记,小工,编程,程序员,工具,约定 From: https://www.cnblogs.com/Bronya019c/p/16846297.html