zoukankan      html  css  js  c++  java
  • 站在人的角度写代码 荣

    今天在写一个程序,其中有几个类是原来的项目中已经存在的,为了图方便我就把这几个类一个一个的拷贝过来了。

    每当我拷贝一个的时候我都编译一遍。

    当拷贝第一个类的时候,编译时出现错误,提示找不到A类,

    把A类再拷贝过来,编译后又说找不到B类,找到B类又说找不到C类,

    如此拷贝了半天才把所需要的东西拷贝过来,编译成功。

    觉得:

        这样A类调用B类,B类调用C类,...他们之间的这些关系太让人郁闷了。应归程序是以前自己写的,少了类知道向哪儿找去,如果是别人写的,估计光找关联的类要找老半天。

      由此推想,不刚是拷贝类的时候会出现混乱,这样的时候毕竟很少。别人看代码的时候,出现这样的现象最让人郁闷,正在查看这A类,又要去B类看看怎么回事,很可能这下又从B类到了C类,想象也让人头大,特别是看代码喜欢看究竟的人。

    为什么会出现这样的强耦合呢?

    第一:缺少规划:

    缺少规划是出现这样强耦合的原因之一,写程序很随意,写道哪儿是哪儿,哪儿有写好的函数名就直接拿来用。

    第二:设计过度

    能出现这么多一环套一环的类,还有一种可能就是设计过度了。自己觉得抽象的很好,把公共部分都抽象在相应的函类里了,越设计类越多,到最后就是这个样子了。

    如果说这是设计过度也可以,但是,也可以说这是设计不到位,因为你只把精力放在代码上了,而忽略了设计服务的对象是人,是用代码看代码的人,设计应该是让用代码的人感觉好用,感觉方便,感觉易懂,而不是感觉每个类抽象的很好,但是每个类关联都很多。

    所以,如果我们设计代码的时候发现类很多,相互关联【引用】很多,就应该是站在人的角度反思设计的时候了。

    设计过度其实还有一种情况就是把函数拆分成n个很小的函数,每个函数是很清楚,但让人理解一个功能却要跳来跳去找n个函数。

    第三:没有站在用户的角度考虑【用户:用代码和看代码的人】

    我所说的用户是调用你的程序的程序员。

    没有站在用户的角度来思考,而仅仅是站在面向对象,技术的角度来思考代码是不好的,就像第二条所说。

    给类,函数,变量起一个好名字,添加好的注释,都应该站在用户的角度考虑。

    为别人看代码着想,起个好名字,把注释写明白,明白到别人看到一个函数后,根据名称,根据注释就知道这个函数要干什么,不需要查看函数的每句代码去查看作者的意图。

    第四:出现了杂烩类

    一个类既要干这件事又要干那间事,这期间就可能要引用很多的类,增大了类耦合的可能性。

  • 相关阅读:
    前端一站式学习地址
    springboot注解开发
    java中的四种内部类使用(1)
    java内存回收机制
    TweenMax详解
    flash渲染机制
    通过字符串名访问变量
    总结调用Flash的几种方法
    flex buider2 的注册
    转:FlexChn.Cn Adobe Flex最佳学习路线
  • 原文地址:https://www.cnblogs.com/admin11/p/1235319.html
Copyright © 2011-2022 走看看