场景:为了赶项目进度,你写的代码并不优美(很烂)。你知道,作为 coder,这不是你想要的;作为职员,这也无可厚非; 问题:当你发现一直在赶进度,你也一直再写“烂代码”,你会怎么办?

2019-06-14 11:06:48 +08:00
 NilXuan
实际上,这是我进入导师公司后的真实场景;
个人技术水平中等,但是对技术有着自己的追求,不愿写“烂代码”——不可重用、不可维护、不可扩展;自身水平也能维持项目进度,当然代码质量不高;项目 leader 也没有为提高代码质量降低开发速度的意愿,也就是“能跑就行”这样的态度;
我希望能够通过参与项目,提高编码水平,但是我现在发现,在实际的项目开发中,我只是做着毫无营养的输出,并没有输入。可以预见,这样下去,即便 10 年后,我还是现在的编程水平;
如果是你,你会怎么办呢?是继续在上班时间写着让自己不舒服的代码,一边学习良好的编码规范;还是 say goodbye ?或者还有其他的处理方法?
14225 次点击
所在节点    程序员
130 条回复
NilXuan
2019-06-14 11:42:07 +08:00
@NaoNao9976 啊哈,自己还处于优良习惯养成阶段,还没达到信手拈来的水平。。。不过你说得对,所以应该先养成这样的习惯!~
palmers
2019-06-14 11:43:28 +08:00
3. 如果当前时间确实很紧迫, 那尽可能的不写烂代码 首先实现需求, 因为再好 再优雅的代码也是需要实现其价值的,俗气点说就是需要变现的, 如果不能创造价值,就是一堆字符而已 无用的字符, 之后再找 leader 商量重构 提出具体的重构说明文档
8355
2019-06-14 11:48:19 +08:00
还有就是补充一点啊.
你写好代码都是要依靠项目时间富裕给你时间优化代码的话. 你真的会去优化吗?
如果是这样的话会不会影响项目排期呢.
songtinhuang
2019-06-14 11:49:30 +08:00
公司代码烂就让它烂,早晚要崩,快崩之前就跑。烂摊子反正会重做的。
jorneyr
2019-06-14 11:49:33 +08:00
代码写烂了,开始的时候可能会快一些,但是大多是越写越慢,甚至不可收拾
binux
2019-06-14 11:49:42 +08:00
从来没有因为赶时间写过烂代码。编码是开发的最后以换取,实际只占总工作时间的 1/3。
我只见过赶进度用了一个烂的 quick win 的设计,不相信你能从编码中赶出时间来。
wayslog
2019-06-14 11:51:39 +08:00
@FrankHB 捕捉球
66beta
2019-06-14 11:52:11 +08:00
到哪都这样吧
我司鼓励原生前端和 JAVA 后端来写 web 端,结果自然就是 web 前端擦屁股,跟公司大小无关,就是领导层不专业
jimrok
2019-06-14 12:20:36 +08:00
如果你很在乎你的工作质量,十年后你不会写的很烂。就好像一个画家,开始可能画的很烂,但 10 年后,他可以从任何一个位置画起,都不会搞错比例和细节。
msg7086
2019-06-14 12:25:51 +08:00
现在省下的每个小时,在五年后都会变成每天杀回来。
jingyulong
2019-06-14 12:41:03 +08:00
后面想通了,一有时间就重构,一定要留时间给自己充电。别人 7 天完成的,你一天就能搞定,剩下就开始充电了。
dlsflh
2019-06-14 13:02:14 +08:00
可以来对安全要求苛刻的企业啊
roronoaws
2019-06-14 13:02:25 +08:00
其实,我是一个程序员
Sapp
2019-06-14 13:10:00 +08:00
到目前为止,我觉得这个问题是无解的,除了很多小而美的公司,大多数都是这样子,为啥?因为你不赶工赶需求你领导怎么升职加薪?至于代码质量,有升职加薪重要吗?这还算好的,差一点的往往是前面赶工干活,后面赶工擦屁股,最后发现屁用没有,还不如慢慢做,这些问题都是显而易见的,但是这么多年都改变不了,根本上来讲这不是代码的问题,也不是写代码的人的问题,是管理上普遍存在的问题,你换了个公司也是差不多。
我现在对于这个只有两个解决方案,一个是拒绝不合适的需求以及工期安排,当所有人都拒绝的时候,是不是环境就会好很多?当然我也知道不可能所有人都拒绝,总会有工贼,所以还有第二个就是把工作中的很多遗憾安排到业余去做点自己的东西。
Sapp
2019-06-14 13:14:02 +08:00
@jingyulong 我猜你没多少工作经验,但凡有经验你就不会说出 “有时间就重构” 这种话,干的多了你就知道,那是不可能有时间去重构的,有时间也不会有精力去重构,有精力更不敢冒风险重构,赶工的活一旦赶出来,那就是永远都在这样了,bug 能修完都算不错的。
posebear1990
2019-06-14 13:28:24 +08:00
随时重构,比如第一版是垃圾代码,需要在垃圾上加功能的时候就把第一版的垃圾重构掉。
总之可以有垃圾,但是不能在垃圾上堆垃圾。
vance
2019-06-14 13:28:37 +08:00
你会发现哪都差不多的
jingyulong
2019-06-14 13:28:56 +08:00
@Sapp #35 那你尽情猜好了,每个人水平本来就不一样,你就慢慢磊你的代码吧。

另外,表达意见可以,带人生攻击,歧视,就会让人觉得很 low
hyuka
2019-06-14 13:39:32 +08:00
@jimrok 那这个画家在这十年里一定有选择能让自己画的更好的环境
polun
2019-06-14 13:46:29 +08:00
上班做功能,下班优化代码。

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

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

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

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

© 2021 V2EX