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

    注重实效的偏执
    1.按合约设计
    DBC关注用文档记载并约定软件的权利与责任,以确保程序的正确性。要注意调用某个函数时的前条件,后条件和类不变项。所以例程和任何潜在的调用者之间的合约可理解为:如果调用这满足了例程的所有前条件,例程应该在保证其完成时,所有的后条件和类不变项将为真。
    2.死程序不说谎
    当程序中某件被认为不可能发生的事情已经发生时,就需要尽可能早的终止它。
    3.断言式编程
    不要觉得你以为的就是你以为的,相信一些事情绝不会发生,想要确定能不能发生就要用断言确保它会不会发生,不要用断言代替真正的错误处理,断言检查的是决不应该发生的事情,让断言开着是一种很好的方式来确定它会不会发生。
    4.何时使用异常
    一个程序很有可能出现意想不到的异常,将异常用于异常的问题,通过异常处理,例程和他们的调用者被调用者更紧密的耦合在一起
    5.怎样配平资源,
    大多数时候,资源使用遵循一种可预测的模式,分配,使用,解除其分配。对于一次不需要不只一个资源的例程,可以对资源分配的基本模式进行扩展的:以与资源分配的次序相反的次序解除资源的分配;在代码的不同地方分配同一组资源时,总以相同的次序分配他们,降低死锁的可能性。

  • 相关阅读:
    [leetcode] Rotate Image
    [leetcode] Jump Game II
    [leetcode] Permutations II
    [leetcode] Permutations
    [leetcode] Wildcard Matching
    [leetcode] Multiply Strings
    [leetcode] Trapping Rain Water
    [leetcode] First Missing Positive
    [leetcode] Combination Sum II
    [leetcode] Combination Sum
  • 原文地址:https://www.cnblogs.com/ywqtro/p/11871522.html
Copyright © 2011-2022 走看看