How to Imporve coding skills

总结编程技巧,基本来自于代码大全这本书的读后感和工作里的感悟。

Use Conditionals

if then 语句

  1. 代码的 正常路径清晰吗
  2. if-then 测试对“等于号情况”分支的处理方式正确吗
  3. 把正常情况的处理放在 if 后面而不要放在 else 后面。
  4. 让 if 条件里不要空着,可以简单把条件做一个否定操作,这样就能把 else 的内容移到 if 里面。
  5. 如果不需要 else 情况,也请在空的 else 语句里,写上注释说明为什么不需要 else。
  6. 记得测试 else 子句的正确性。
  7. 检查 if 和 else 的子句是不是弄反了,if里代码是正常情况走的,else一般是用来处理错误、异常、例外情况的。

if-then-else

  1. 当出现多个 if 、else if、else if 连起来实现 switch case 效果的时候,请注意把复杂的 if判断条件 抽象成一个布尔函数,利用布尔函数掉调用简化复杂的检测。
  2. 把最常见的情况放在最前面的if
  3. 确保所有情况都被考虑到,最后的else是为了提示程序员而记录 exception 的。
  4. 如果你的语言支持,请把 if-then-else 语句串替换成switch case,更易于理解。

case statements

case 语句或者 swich 语句在不同 code language 里有很大差异。如何有效使用,有些共同原则。

  1. 选择最有效的排列:把正常的情况排在前面,把执行频率高的排在前面,如果重要性相同按照开头字母顺序或者数字顺序排列。
  2. 简化没冲情况对应的操作,每种情况相关的代码应该短小精悍,如果特别复杂则建议写到函数里。
  3. 不要为了使用case,而刻意去截取字符串之类的。也就是说函数输入与case 变量要完全对应,如果函数输入了字符串,而case 只支持char和数字,那就不要用case 而转用if else。
  4. 把default 语句只用于检查真正的默认情况,而不要把最后一种剩余情况用default处理(这样会让程序丧失处理错误的能力以及失去利用case代码自动说明功能的能力)。这种用法需要在所有case之前检测输入变量的正确性。
  5. 利用default子句检查错误情况
  6. 在C++和java里,避免带阿玛执行越过一条case子句的末尾,加上break。

Controlling Loops

不同类型循环的差异主要体现在灵活度和检查位置上,包括循环次数的多少、循环是否需要至少执行一次、检查循环是否执行完备的位置在开始、中间或结尾。

选择循环的种类

  1. counted loop执行次数是一定的
  2. 连续求值的循环,预先不知道将要执行多少次,每次迭代时都要检测是否应该结束。
  3. 无限循环,一旦启动就会一直执行下去,例如微波炉、导航仪、心脏起搏器。
  4. 迭代器循环 iterator loop,对容器类里面的每个元素执行一次操作。
  5. 如果你不知道循环要迭代 多少次,那么可以使用while 循环。

循环控制

轻松创建循环

循环和数组的关系

您如果觉得有用,觉得写得还不错,可以一元赞赏作者。
   
微信捐赠图片
   
支付宝捐赠图片