编写类和子程序的几个原则

      以下的原则是摘自《代码大全(第二版)》,放在这里提醒自己写程序时尽量的优化。当然仁者见仁,智者见智,这些东西不一定都适合,只是当作参照而已,这里没有针对具体的语言,还得具体情况具体分析。括号内为自己的理解,如有错误,还请指出。
     在程序里创建类的原因:
            1.对现实世界的对象建模(如:文章类,用户类)
            2.对抽象对象进行建模(如:类型:也许是文章类型或用户类型)
            3.降低复杂度
            4.隔离复杂度
            5.隐藏实现细节
            6.限制变化所影响的范围(经常变化的部分放到一个或几个类中,如业务逻辑)
            7.隐藏全局数据
            8.让参数传递更顺畅(比如说文章,包括标题、作者、时间、内容等等,在读或写文章时可以把文章的对象作为参数传递)
            9.创建中心控制点 (如把对数据库的操作放到单独的类中)
            10.让代码更易于重用
            11.为程序族做计划
            12.把相关操作放在一起
            13.实现特定的重构
   应该避免的类:1.万能类 2.消除无关紧要的类:如只包括数据不包括行为的类,是否真的有必要?3.避免用动词命名的类,如只有行为没有数据
     创建子程序的理由:
               1.降低复杂度
               2.引入中间的、易懂的抽象(比如:上传文件时问了得到文件名称,要写如下代码:
None.gif              while (filename.IndexOf( " \\ " ) >= 0 )
ExpandedBlockStart.gifContractedBlock.gif            
dot.gif {    
InBlock.gif                filename
=filename.Substring(filename.IndexOf("\\")+1,filename.Length-1-filename.IndexOf("\\"));
ExpandedBlockEnd.gif            }
这里我们可以把这段代码单独放到一个方法中:GetFileName(),这样以后在用到的时候直接调用这个方法就行了。
               3.避免代码重复
               4.支持子类化(即在派生类重写的时候)
               5.隐藏顺序(如果两个动作必须一前一后发生,可放到一个方法中)
               6.隐藏指针操作
               7.提高可移植性
               8.简化复杂的逻辑判断(如判断用户输入是否合法)
               9.改善性能(子程序中的算法可以随时改变,只要其返回保持一致,就不会影响其他地方的调用)
   

转载于:https://www.cnblogs.com/tiu/archive/2006/12/10/587998.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值