程序员修炼之道-从小工到专家读后感3

    阅读了第四章和第五章的一部分,其中有关异常让我印象深入,特别是本身也刚学到java异常处理部分,有关自定义异常类等。java

    在编程的时候,若是他不可能发生,用断言确保他不会发生,只要最后结果不出来,那么你所认为的不必定就是彻底正确的,而你所要作的就是,增长代码来检验他,最容易的办法就是使用断言,固然,绝对不要把必须的代码放在断言里面,由于断言可能会在编译时被关闭,而且断言不等于真正的错误的处理,所以不能用断言来代替真正的错误处理,断言检查的是毫不应该发生的事情。程序员

    让断言一直开着,就像书中的那个说法同样,断言给代码增长了一些开销,由于他们检查的是毫不应该发生的事情,,因此只会有代码中的bug出发,一旦代码通过了测试仪而且发布出去,他们就再也不须要存在,应该被关闭,以使代码运行的更快,断言只是一种调试设施,这样的说法误导了人们对于断言的见解,并且自己也存在重大的错误,在复杂的程序中,你不会那么轻易的找到你的bug所在,其次,你的程序在运行的时候还会发生一些不可预料的事情,你的第一条防线是检查任何可能的错误,第二条防线是使用断言设法监测你疏漏的错误。数据库

    异常应该保留给意外事件,例如在文件读取的时候是否有文件,删除文件的时候是否存在,建立新文件的时候是否已经存在文件等,错误处理器是检测到错误时调用的例程。在配平资源的时候要善始善终,在Java中,当try块含有finally子句时,若是try块中有任何语句被执行,该子句中的代码就保证会被执行,是否有异常抛出没有影响。但你没法配平资源的时候,在动态数据结构的程序中,一个例程将分配一块内存区,并把它链接进某个更大的数据库中,这块内存可能会在那里呆上一段时间。注重实效的程序员谁都不信任,包括咱们本身,因此咱们以为,构建代码,对资源倒是获得了适当释放进行实际检查,这老是一个好主意,对于大多数应用,这一般意味着为美中资源类型编写包装,并使用这些包装追踪全部的分配和解除分配在你代码中的钉钉地方,程序逻辑将要求资源处在特定的状态中:使用包装对此进行检查。编程

    生活不会停步不前,一样,咱们编写的代码也不会,为了让咱们遇上今天近乎疯狂的变化步伐,咱们必需要尽一切努力编写尽量狂送灵活的代码,不然,咱们会发现咱们的代码变得过期,或者是太脆弱,以致于难以修理,而且最终可能会在想着将来疯狂的突进中掉队。要尽可能的下降代码的耦合度(代码模块间的依赖关系),让分离的概念保持分离,一种办法是少写代码,改动代码会让你引入bug的可能性增大,把各类细节移除代码,那样就能够更安全,更容易的改动他们,你应该注意你与多少其余模块交互,并且更重要的是,你怎样开始与他们交互的,当咱们要求某个对象完成特定任务时,咱们想要爱软件中遵循一样的模型,咱们不但愿这个对象给咱们一个第三方对象,咱们必须对其加一处理才能得到所需的服务。安全

    再多的天才也没法赛过对细节的专一,细节会弄乱咱们整洁的代码,特别是他们常常变化,没当咱们必须去改动代码,以适应商业逻辑,法律,或管理员我的一时的口味的某种变化时,咱们有破坏系统,引入新bug 的危险。不要让你的项目或者你的职业生涯走上渡渡鸟的道路,他们不能适应人类和他们的家畜的出现,好久就灭绝了,是人类记载的第一块儿物种的灭绝。时间是软甲架构的一个经常被忽略的方面,吸引咱们的只是进度表上的时间,相反咱们谈论的是做为软件自身的一种设计要素的时间的角色,时间有两个方面对咱们很重要,并发和次序。咱们在编程的时候,每每是线性的,老是先这个,再这个,这样会带来时间的耦合:在时间上的耦合,方法a必须老是在方法b以前调用;同时只能运行一个报告;再接受到按钮点击以前,你必须等待屏幕重画滴必须在嗒以前发生。数据结构

相关文章
相关标签/搜索