《程序员修炼之道:从小工到专家》读书笔记(三)
这一篇开始这本书的第二章内容,第二章的标题是注重实效的途径
7.重复的危害
摘抄:DRY原则:系统中的每一项知识都必须具有单一、无歧义、权威的表示。
这一节将重复归入了几个类型:强加的重复、无意的重复、无耐性的重复、开发者之间的重复,我就不把解释写在这里了,通过这一节的学习,我深刻认识到重复的危害以及避免重复的重要性。在软件开发中,我们应该尽量遵循DRY原则,通过抽象、模块化和自动化等技术手段来减少重复,提高代码的可维护性和可读性。同时,我们也应该注重团队协作和代码管理,通过定期重构和使用源码控制等手段来保持代码的质量和效率。
8.正交性
这一节作者深入探讨了正交性的概念及其在软件设计和开发中的重要性。正交性这一术语是从几何学中借来的,原意是指两条直线相交成直角,互不依赖。在计算技术中,正交性用于表示某种不相依赖性或解耦性。如果两个或更多事物中的一个发生变化,不会影响其他事物,这些事物就是正交的。在软件开发中,我们应该尽量遵循DRY原则,通过抽象、模块化和自动化等技术手段来减少重复,提高代码的可维护性和可读性。同时,我们也应该注重团队协作和代码管理,通过定期重构和使用源码控制等手段来保持代码的质量和效率。
9.可撤销性
摘抄:错误在于假定决策是浇铸在石头上的——同时还在于没有为可能出现的意外事件做准备。要把决策视为是写在沙滩上的,而不要把它们刻在石头上。大浪随时可能到来,把它们抹去。
可撤销性是编程过程中一项重要的原则,它强调了决策的灵活性和可变性。通过模块化设计、使用接口、版本控制和自动化测试等手段,可以实现系统的可撤销性,从而应对需求的变化、降低风险并促进复用。在实践中,我们应避免过度设计,持续集成并定期评估系统的设计和实现,以确保它们仍然符合当前的需求和期望。这一节告诉我们在编程过程中要保持决策灵活性。这不仅有助于应对未来的变化,还能降低开发过程中的风险,提高系统的稳定性和可靠性。
10.曳光弹
读这本书之前我还真没有听到过这个词,曳光弹,原本是一种装有发光化学药剂的炮弹或枪弹,发射后能在空中发出光亮,指示出子弹的轨迹,从而帮助射手及时校正和调整射击方向。在软件开发领域,曳光弹的概念被引申为一种快速、直观、可重复的反馈机制,帮助开发者在构建复杂系统时迅速找到目标,及时调整开发方向。曳光弹方法的核心在于及时反馈和不断修正。在软件开发过程中,我们需要不断地进行迭代和重构,使系统更加接近目标。在实际应用中,曳光弹方法可以体现在多个方面。例如,在开发一个接口时,我们可以先实现一个基本的骨架部分,并在此基础上进行后续开发。
这一次先总结到这,下个月继续阅读