美文网首页我的Android武功秘籍
写写这阵子接手别人代码遇到的坑

写写这阵子接手别人代码遇到的坑

作者: 白银之火 | 来源:发表于2017-03-08 22:46 被阅读710次

    原本打算写glide的一些图片使用方法,但在工作上却遇到了大坑。

    我本以为我看别人的代码,总能学习到一些新的东西,但这次遇到的代码却只有无尽的坑。。

    第一坑:变量名不一

    变量名不一

           在XML文件中的名字各式各样,使用一般的默认id如textview1 2 3,imageview1 2 3就算了,还有像上图的xxx01的id。

    更奇葩的是在代码中却取了xxx00的名字,这是啥逻辑?

    第二坑:BaseActivity类混乱

    BaseActivity类混乱

           在项目中,我们通常会重写一个BaseActivity类,用于管理大部分的Activity,这样方便写一些常用的方法,或者控制页面进出的动画。

           一般会用到Activity、FragmentActivity、Fragment这三个常用的基类,而我的项目中使用了仿苹果的从左往右侧滑关闭页面Swipe,导致这位同事把NoSwipe全部重写了一遍,还多了Base2Activity和BaseNormlActivity,让我在修改进出动画和一些finish事件时异常艰难。

            更惨的是他还使用了SystemStatusManager去管理沉浸式状态栏,导致在各个安卓版的页面样式都不一样,如果要修改的一百多个页面都可能受影响,我想了想,还是算了吧

    第三坑:工具类名混乱

    重写了各种123结尾的类

            各种类都是以123结尾,并且里面也没有备注用于什么地方。

            我仔细看了一下MyDialog、MyDialog2、MyDialog3中有啥区别,发现根本没区别!那你写这个的意义是什么!

    第四坑:乱定义静态变量

    乱定义静态变量,并重写了get、set方法去调用。。

            看到这个我人是崩溃的。

            这都写的啥啊,为何要定义一个静态的成员变量List,然后去重写getset方法?为何set后面跟了两个大写的DD?为何都是静态的了还要再写get方法?

            仔细阅读后发现不止写了这一个,一共写了4个这样的List,其目的为了在一个图片选择器PickImageAdapter中去先去get他们判断是否为空,然后去修改List里的图片,在设置到各自的页面里。

            而这个PickImageAdapter本身就是一个封装好的,通用的图片选择器,类里本身就有自己的List去控制图片的展示,无奈之下我只好重写了4个页面。。

    第五坑:代码排版乱缩进

            从图上就能看到,各种奇怪的缩进,这还只是一部分,有接近100多个页面和xml文件,几乎全是这样的乱七八糟缩进。

            大哥你这样看不别扭吗?不难受吗?不奇怪吗?按一下自动整理代码的缩进快捷键不会吗?快捷键不知道不会百度吗?不会百度你还写啥代码啊

    第六坑:方法名混乱

            依然是在上传图片的ImageLoader方法中,胡乱添加了一堆123、134、14的方法。怎么有的23都没了,这命名方法我也真醉了

            一怒之下我也是全删了,只剩2个,一个显示默认头像,一个显示默认图片。

    第七坑:无脑复制代码

            在管理接口的Api类中,每个接口我都能看到这2行。这明显是复制上一方法留下无用代码,却也毫无保留的每个接口都留下来了,写代码敢不敢带点脑子啊??我就不说在其他页面动不动就一两百行的注释掉的无用代码了,真是让人崩溃。

    第八坑:严重的多层嵌套代码

             看到没,在diglog的点击事件,已经整整嵌套了9层,9层啊!

            难道把这个调用接口的Api方法写出来很难吗?

    第十坑:命名混乱

         tv_pinpai 恩恩 是“品牌”;tv_xinghao 恩恩 是“型号”;tv_choosetype 恩?恩?恩? 是“选择类型”?;tv_remind 恩?是 “提示”?

         不会英语不要紧,用有道翻译啊,嫌麻烦那就都用拼音来命名啊,不要动不动来2个英语2个拼音,甚至来个中英混搭的getshangpinList,半洋半土还不带驼峰的命名,这压根就是随意而来的吧?

            以上这些坑,大大小小全都分布在我同事给我的代码之中,并且基本没有注解,一些接口的字段参数,我都要去问一遍后台或者ios的人才能知道是干什么的。

            每天看着这*一样的代码,人都要变得暴躁起来,因此让我在自己的项目中加入了大量的注解,好让后面接手的人不那么痛苦,即使不会排版,也要经常按按自动缩进的快捷键。

            然而这个项目的bug还没改完,我还要继续看下去,希望下一个接手别人项目不要再有这么多坑了,阿门

    相关文章

      网友评论

      • 轮子糙:有空可以谈谈优化代码的方法和经验
      • f4ae812b8b5e:哈哈哈,以前一直觉得自己的代码规范十分糟糕,直到看到这篇文章
        1927a8ec71bf:还有比你更差劲的484?哈哈哈

      本文标题: 写写这阵子接手别人代码遇到的坑

      本文链接:https://www.haomeiwen.com/subject/khsigttx.html