码迷,mamicode.com
首页 > 其他好文 > 详细

《代码整洁之道》总结——函数

时间:2017-07-16 21:28:23      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:频繁   foo   命名   结果   session   app   方便   end   插入   

  1. 函数要短。短才方便阅读、维护和设计。
  2. 函数只做一件事。依照单一职责原则(一个类只会因为一个原因改变)设计函数。一个函数要么进行流程控制或逻辑判断,要么改变某事物的状态,要么计算并返回结果,要么调用多个下一抽象级的其他函数(另一种流程控制而已)。不要有多余功能。
  3. 我们可以把函数分解成多个抽象层级来设计,在调用时最好只同时调用同一层级的函数,依照倒树状图来设计函数。个人认为类似于面向过程编程的思想。
  4. 函数不应该有作为标识的参数,这意味着函数有至少两种执行方式违反了第2条原则。
  5. 函数参数最多有两个,除非多个参数是作为一个整体传入的。如:坐标系的x,y,z作为一个整体。并且这种多个参数构成的整体最好能封装成类来传入。
  6. 函数真的最好只做一件事,不要在函数里为了方便当前调用加入其它功能。如web登录验证时,函数用来验证username和password,在验证之后顺便初始化session,这会导致除了登录时能调用验证函数,其它时候这函数没有任何作用或者强制刷新了session导致未知错误。
  7. 不要有输出参数,如果想改变某类的状态,就把该函数加入该类,让它自己调用函数。如:把改变类x的状态的函数调用addFooter(x),改为x.addFooter()。
  8. 函数不要返回错误码,这需要你有错误码的枚举类,并且违反了开放封闭原则(你需要加入新错误码来扩展新错误),直接抛出异常就好了。(可以通过继承父异常来扩展)
  9. 最好用函数名称就描述清楚函数作用,避免频繁去看函数文档,这对于短小的函数来说不难办到,如果很难命名可能需要思考函数是否有依照以上原则设计。并且名称的命名应该不容易与其他函数名称形成混淆。如:add()在calculator中意思是加,而在List中就不应该用add表示插入集合了,应该用insert或append。简单来说就是一个概念对应一个词,并且始终如一。

《代码整洁之道》总结——函数

标签:频繁   foo   命名   结果   session   app   方便   end   插入   

原文地址:http://www.cnblogs.com/taojinxuan/p/7191711.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!