维护自己以前写的代码时,会不会想抽自己一巴掌?

2018-12-22 11:02:20 +08:00
 allen945

每次维护项目的时候最怕的是对一些已有的功能进行升级改造,因为常常出现看不懂以前写的代码...

然后先开始找以前的思路,找到思路后才敢修改代码.

若是找不到思路,推翻重写... 每次遇到这种情况时,都想抽自己一巴掌,这 TM 写得什么鬼呀?

不知道大家有没有过这种经历?

来自一枚入门级菜鸟 web 开发者的心声~

tips:

上面指的是自己的个人项目,非公司或其他商业项目。

6310 次点击
所在节点    程序员
71 条回复
wispx
2018-12-22 12:00:51 +08:00
这谁写的 jb 代码,神魔恋。
卧槽这好像是我自己写的...
xuanwu
2018-12-22 12:08:52 +08:00
@allen945 不加. 搜"中文代码示例之 Spring Boot 1.3.3 演示", java+mysql 中文命名
royzxq
2018-12-22 12:12:38 +08:00
某个人真的魔怔了,代码写的乱和中英文有什么关系,傻了吗
wemore
2018-12-22 12:17:16 +08:00
有时候会真的抽自己一巴掌,给后面的自己挖坑。
galikeoy
2018-12-22 12:19:09 +08:00
@leavic 您一定是高手
wly19960911
2018-12-22 12:20:58 +08:00
@allen945 #2 不过这也只是自己的体会,业务代码真的不能写长,也最好避免回调函数过深,逻辑方法名长和多根本不是问题,反正我只用 interface 里面的东西,能传参数就是参数传,业务方法一写长,各种参数乱飞下来很痛苦的。

业务代码有个注释也没用,只是告诉你干什么的(毕竟你改的就是业务代码),过程还得你自己看,而且业务代码也不可能一行行注释告诉你这个为什么这么做。逻辑代码就该怎么写注释就怎么写。

其实 jQuery 是一个很好的逻辑封装的例子,里面根本不会理会你到底干什么,就只提供功能,从来都不用 this。我看了下前端的话,我推荐你去试试 ts 语言的框架,最近 vue 也要上 ts 了,因为面向对象的语言真的有很多学习的地方。

说了正面例子我来说个反例。就以 vue 当例子说明,vue 可以调用 this 来修改 data。但是 this 用多了问题也出来了,逻辑代码各种调用 this,我在查 bug 的时候,发现每处都有 this.data 去修改值,而且回调初始化调用的方法非常多,这时候就需要我一个个排查究竟是谁去修改 data 了,从那时候开始我基本就只有 event 和 生命周期 才会修改 data 的值,其他地方只提供逻辑上的功能。
wly19960911
2018-12-22 12:23:06 +08:00
说起来我又突然想到一个东西了。同事曾经认为 精简代码 = 好代码,减少行数代表你能写出更好的代码。我是有点不敢苟同。现在有些情况让他们多定义几个 model,都有点不肯。
yhxx
2018-12-22 12:23:19 +08:00
不会
因为我这种过了一年也没什么进步的再写一次也并不会比之前好到哪里去。。。
wmhx
2018-12-22 12:25:19 +08:00
2 年前接了个私活, 就是把 excel 的数据导入 mysql 然后给个界面做修改再统计的过程,excel 的行和列是不固定的, 我如何在 web 界面上展示还能修改,还要不影响统计功能. 当时想破了头写的代码, 如今真是完全看不懂了, 为什么要把 excel 的数据映射成一个类,然后再转成 json 存数据库里面, ztn 的是个人才啊,
Mac
2018-12-22 12:44:27 +08:00
并没有,反而佩服自己脑力强大,居然能拐这么多弯把问题解决了
leavic
2018-12-22 12:57:48 +08:00
@galikeoy 不是吹牛不是扯淡,只是后来很少写底层驱动了,以前的技能就有点丢失了,这其实很正常。
zhm1620
2018-12-22 13:01:59 +08:00
想抽死说明有进步啊··
alakey1989
2018-12-22 13:09:28 +08:00
@yhxx 可爱
PP
2018-12-22 13:09:55 +08:00
Only God knows 即视。
sunnyadamm
2018-12-22 13:20:54 +08:00
关键点一定要写注释,不然。。。Only God knows
blacklee
2018-12-22 13:24:21 +08:00
入行 12 年+了,手头一个项目是 4 年前写的。我自己看着感觉还好,有时能看到有些优化空间,但不会觉得写的差了。
当然了,回忆 6 年前看 8 年前写的东西时,有时会想骂自己傻叉。
armoni
2018-12-22 13:31:22 +08:00
感叹当时的自己太厉害了,现在写不出来了
f278478529
2018-12-22 13:54:54 +08:00
想重构框架,升级 JDK。
chanchan
2018-12-22 14:01:01 +08:00
注释是不可能注释的,我宁愿多花点时间让自己的代码更易懂 更“声明式”。
yuanfnadi
2018-12-22 14:02:03 +08:00
测试覆盖率 100% 随便怎么改,只要能跑过测试就可以了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/519953

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX