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

2019-06-14 11:06:48 +08:00
 NilXuan
实际上,这是我进入导师公司后的真实场景;
个人技术水平中等,但是对技术有着自己的追求,不愿写“烂代码”——不可重用、不可维护、不可扩展;自身水平也能维持项目进度,当然代码质量不高;项目 leader 也没有为提高代码质量降低开发速度的意愿,也就是“能跑就行”这样的态度;
我希望能够通过参与项目,提高编码水平,但是我现在发现,在实际的项目开发中,我只是做着毫无营养的输出,并没有输入。可以预见,这样下去,即便 10 年后,我还是现在的编程水平;
如果是你,你会怎么办呢?是继续在上班时间写着让自己不舒服的代码,一边学习良好的编码规范;还是 say goodbye ?或者还有其他的处理方法?
14227 次点击
所在节点    程序员
130 条回复
NilXuan
2019-06-14 11:08:42 +08:00
好吧,我最后选择了 Say GoodBye,因为我看到出路在哪里。。。。
LANB0
2019-06-14 11:14:58 +08:00
掀桌子走人啊
KannaMakino
2019-06-14 11:16:49 +08:00
别勉强自己
airfling
2019-06-14 11:17:05 +08:00
代码因为赶进度写的烂,早晚会回来收拾破摊子的。所以趁早离开比较好
ben1024
2019-06-14 11:17:25 +08:00
工作本身就是为了开发速度,
提高质量是需要在工作之外对自己的提升。
为了更好的自己,为了找到更好的公司。
Tips:工作中已完成的内容如果没需求别想着去重构
tt67wq
2019-06-14 11:19:36 +08:00
公司的代码烂就让他烂吧,反正写的好也不会给你涨工资,改出 bug 你还要杯锅,有技术追求的化可以把代码水平发挥到自己的项目中或者去开源社区贡献点代码。
lauix
2019-06-14 11:20:55 +08:00
压时间,就代码烂。为了速度哪有时间考虑那么多。
FrankHB
2019-06-14 11:22:42 +08:00
别加班钱给够还好说,效率低点自己还能另外补课。
NilXuan
2019-06-14 11:23:30 +08:00
@airfling 实际上,我离开时就已经在收拾烂摊子了,而我也真不想和他们一块儿继续收拾了。。。
litp
2019-06-14 11:25:10 +08:00
走人。
这是系统性问题,除非重做系统,或者换一个。

讲道理看你的标题,以为自己在靠 PMP
sumarker
2019-06-14 11:26:10 +08:00
公司的代码 可维护的确实不多...
功能的迭代,人员的迭代
为了工期与兼容 "不得不妥协"
so,
也许自己写自己代码,才能让自己成长?
NaoNao9976
2019-06-14 11:28:07 +08:00
个人习惯问题吧。

当自己有着良好的编码习惯,写东西的时候会不自觉的写的更好

有良好习惯之后写优秀的代码并不需要刻意花太多的时间重写

再说了,只要你的代码面向业务,就没有不赶时间的,走哪都一样
yuaner
2019-06-14 11:30:53 +08:00
这不是 code clean 第一章描述的情况么?感觉这本书完全可以解答你的疑问
kevincai100
2019-06-14 11:31:39 +08:00
你最后会发现到了哪都一样
airfling
2019-06-14 11:32:29 +08:00
@NilXuan 我手里的这个项目就是我们一开始开发的,刚开始也是赶进度,一堆垃圾代码,和繁复的开源组件,后来我带人维护的时候花了一年多,才把代码重新整理了一遍,把流程简化和去掉冗余的开源组件。所以不想维护可以趁早走,很烦人的
q8164305
2019-06-14 11:36:13 +08:00
绝大部分公司都这样,重视代码质量的都死光了
8355
2019-06-14 11:37:47 +08:00
换一家公司 能给你足够时间的公司.
还有就是你为了赶进度而写烂代码的基本原因是你对写所谓优美的代码没有足够的习惯和缺少写代码前的思考.
一个能力达足够的开发人员即使在时间紧迫时也不会写的很烂,
所谓的烂只是在写的时候会想到该怎么写(会加入 todo)但是因为时间的问题导致没办法完善.
在项目上线前会自己完善必须完善的. 不是太重要会找时间完善好再上线.
palmers
2019-06-14 11:41:04 +08:00
我的解决办法是这样的:
1. 接到需求后,把你能想到的可能性都和产品对一下确认后只要有存在的可能性在开发的时候都预留扩展点;
2. 开发的时候,尽量的使用设计模式 这个需要根据自己的经验把握尺度,危险点是一不小心就会过渡设计,因为这条很容易导致你 yy 自己给自己加需求,会导致不能按时交付而且也反而会写`烂代码` 而且导出逻辑漏洞, 所以需要谨之又慎
duan602728596
2019-06-14 11:41:09 +08:00
你可以实现的烂,但是代码风格不能烂,注释总该写吧,代码应该好好组织吧,总不能烂到第二天起床就看不明白昨天的代码吧
KuroNekoFan
2019-06-14 11:41:42 +08:00
do what you can,大有大的优雅,小处有小处的优雅

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

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

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

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

© 2021 V2EX