zoukankan      html  css  js  c++  java
  • 《程序员修炼之道——从小工到专家》读后感二

            最近一段时间又继续阅读了《程序员修炼之道——从小工到专家》这本书,主要是阅读了第二章的内容,对于其中关于bug方面的阅读,曳光弹的使用,构建软件原型有着较为深刻的印象。  

            1.重复的危害

            给予计算机两项自相矛盾的知识,能够使代码失效。知识是变化的,系统中的每一项知识都必须具有单一、无歧义、权威的表示,可靠的开发软件,并让我们的开发更易于理解和维护的唯一途径,要遵循DRY原则(不要重复你自己)。重复的发生分为四点:强加的重复,无意的重复,无耐性的重复,开发者之间的重复。

            2.正交性

            在计算技术中,正交性用于表示某种不相依赖性或是解耦性。正交的好处:消除无关事物之间的影响;提高生产率:改动得以局部化,开发和测试的时间得以降低;促进复用;对正交的组件进行组合,生产率会有所提高;降低风险:有问题的代码被隔离开来:系统更健壮;正交系统很可能能得到更好的测试;不会与特定的供应商、产品,或者死是平台紧绑在一起。    

            3.可撤销性

            可撤销性: 考虑可撤销性,不必做出许多关键的,不可逆转的决策,可以让我们应对一些突如其来的变化。灵活的架构:保持代码的灵活性考虑维持架构,部署及供应商集成等领域的灵活性。

            4.曳光弹

            在黑暗中发光的代码:用曳光弹找到目标,让我们能快速、直观和可重复的从需求出发,满足最终系统的某个方面要求。优点是:用户能够及早看到工作的东西;开发者构建了一个他们能在其中工作的结构;你有了一个工作平台;你有了一个可用于演示的东西;你将更能感受到工作的进展。曳光代码方法处理的是不同的问题,你需要知道应用怎样结合成--个整体你想要向用户演示,实际的交互是怎样工作的,同时你还想要给出一个架构骨架,开发者可以在其上增加代码。

            我们要明白任何人不可能写出完美的代码,金无足赤,人无完人,虽然这听起来难以接受,但你可以把它转化为有利条件,针对自己的错误进行防卫性的编码,要确保在找出bug的过程中,不会对代码造成任何破坏,所以我们设法检查各种事项,并在程序出问题的时候终止程序。 

            要编写能编写代码的代码,简而言之就是我们在生活中看到木匠重复的制作一个东西的时候,他们给自己建造夹具或者模板,一旦做好了这些,他们就可以快速的做出相同的东西出来,并且降低了出错的机会,只要第一个作品是正确的还有模具没有问题,同样我们也需要这样,要构建代码生成器,构建好了整个项目生命期内都可以用它并且没有人格代价。而代码生成器分为主动和被动两种,被动相当于参数化模板,而主动是一种便利手段。代码生成不一定很复杂,并且代码生成器不一定要生成代码。

  • 相关阅读:
    oracle 动态SQL
    Oracle 学习PL/SQL
    SQL优化原理
    JAVA环境配置
    Java接口
    Java数据类型、操作符、表达式
    C#-VS配置开发环境-摘
    Java版本
    网站构建
    Java 时间、字符串
  • 原文地址:https://www.cnblogs.com/best-hym/p/11755258.html
Copyright © 2011-2022 走看看