学习笔记(2)糟糕的系统计与代码表现及反思

糟糕的系统设计与编码风格

1、毛病之一:重复代码

 重复代码,不仅仅是指由于在项目中Ctrl+C、Ctrl+V所导致的完全相同的重复代码,而且也指同一功能在同一项目中用不同的代码实现。

问题产生的原因:

  • 软件架构设计不合理。当程序员发现要实现某一功能时,想起某处有类似的代码,于是直接Ctrl+C + Ctrl+V,重复的代码就产生了。(反思:嗯,1年多以前的我就是这么干的,嘿嘿,当时觉得简单、效率高啊,结果后面维护的时候,头都大了,现在没这个问题了,进步了哦......)
  • 程序员总是高度自信的,当看到别人写的代码时,总是抱着一种“挑剔”的态度,态度1:“我是牛人,干嘛要用菜鸟写的代码”,态度2:“读他的代码太麻烦了,还不如自己写一个。于是乎,根本不觉这个代码是否在项目中出现了多处,这就造成了“不同的代码完成同一功能”的问题。(反思:我们现在的团队中这个问题出现得比较严重,除了以上两种态度以外,更主要是整个团队沟通不够好。即浪费了时间,还好在这方面我的态度还可以,表扬一下先.....)

2、毛病之二:过长的函数

  • (反思:这个问题太普便了,想想在学校的时候,俺一两个函数就能干很多事,乱七八糟,一塌糊涂,这个问题已经改变得差不多了。)

3、毛病之三:过大的类

  • 原句:请牢记“按职责设计类”的基本原则,让每个类都拥有一个明确的职责,只干职责内必须干的事,绝不允许一个类“兼职”过多,干些超越其职责范围外的事!
    • 具体来说,对付过大的类主要有两种方法:
    • (1)将其拆分成多个相互独立的类;
    • (2)引入继承,把一些公有的代码上移到基类中,或者将一些特殊的方法和代码下移到子类中。
  • (反思:记得开始工作的时候,这种错误犯得太多,现在已经改正不少。但是对面向对象理解还是不够深刻,特别当工作量大,时间紧迫的时候,对每个类的职责分析较少,导致虽然类不过大,但是职责比较混淆,这个问题以后需要特别注意)

4、毛病之四:过长的参数

  • (反思:因为一直以来使用持久层开发,传入参数一般主要使用主键字段或者对象,我这个问题基本不存在。)

5、毛病之五:原子弹的链式反应:

  • 主要现象为:一个变化引发多个类修改代码,或者一个类的代码受多种变化的影响。
  • (反思:这个问题倒是遇到过,主要因为类的职责不够明确,有时候增加功能随心所俗,不仔细分析就下手导致,通过这段时间的积累,基本上能避免这个问题的出现了)

6、毛病之六:滥用技巧:

  • 当某些程序员掌握了一些高级的编程技术,比如“委托”、“多态”、“多线程”等,还学习了一些“高级”理论,比如设计模式,就开始在项目中卖弄起技巧,不顾场合,乱用这种技术。
  • (反思:这个问题一针见血啊,是我现在最严重的问题,虽然不致于将Hello World用上上面的技巧,但的确存在这样的问题,需要注意啊)

7、毛病之七:暴光隐私:

  • (反思:写什么都用public,这方面我倒是一直比较注意的,估计也会少量存在这样的问题,但因为都是忙中出错。)

8、毛病之八:乱起名字

  • (反思:乱起名字倒还不致于,就是英语太差啊,每次想个方法名字都想一头撞死。)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值