V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
NilXuan
V2EX  ›  程序员

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

  •  4
     
  •   NilXuan · 2019-06-14 11:06:48 +08:00 · 14229 次点击
    这是一个创建于 2019 天前的主题,其中的信息可能已经有所发展或是发生改变。
    实际上,这是我进入导师公司后的真实场景;
    个人技术水平中等,但是对技术有着自己的追求,不愿写“烂代码”——不可重用、不可维护、不可扩展;自身水平也能维持项目进度,当然代码质量不高;项目 leader 也没有为提高代码质量降低开发速度的意愿,也就是“能跑就行”这样的态度;
    我希望能够通过参与项目,提高编码水平,但是我现在发现,在实际的项目开发中,我只是做着毫无营养的输出,并没有输入。可以预见,这样下去,即便 10 年后,我还是现在的编程水平;
    如果是你,你会怎么办呢?是继续在上班时间写着让自己不舒服的代码,一边学习良好的编码规范;还是 say goodbye ?或者还有其他的处理方法?
    第 1 条附言  ·  2019-06-17 10:06:38 +08:00
    仔细分析各位 V 友的建议,我得到以下几点收获:
    1. 逃避,不可取;追求优秀代码,或许可以成为更优秀的 coder,但是坚持改善代码也有着其他可能,并不是毫无价值;不应该只看到一种出路;
    2. 对优秀代码有追求是值得肯定的,但是也要学会接受不优雅的代码,并反思其价值(对项目、对管理者、对开发者),不应该一味排斥;
    3. 菜,是原罪,提高自身水平才是硬道理;这样,才能从根本上解决“追求优雅代码的渴望和自身技术水平”之间的矛盾。
    130 条回复    2019-06-17 09:53:39 +08:00
    1  2  
    NilXuan
        101
    NilXuan  
    OP
       2019-06-15 14:42:42 +08:00
    @hoyixi 你一语道出了真相。因为我们那个项目还真是买别人的硬件+github 别人的代码。我主要写 java 后端(这么和 leader 说的),对前端也略知一二,在项目里做的最多活就是去 gitbug 看别人代码的文档,然后个性化定制功能。。。。没有创新、没有,什么都没有。。。。
    codelegant
        102
    codelegant  
       2019-06-15 15:44:11 +08:00
    沙漠之中可以有绿洲。
    kran
        103
    kran  
       2019-06-15 15:47:24 +08:00 via Android
    胸无成竹
    fvckDaybyte2
        104
    fvckDaybyte2  
       2019-06-15 15:57:28 +08:00 via iPhone
    很多情况是这样的,产品规划了 ABCD 四个功能,按照功能仔细规划了三层代码结构,A 功能是基础,B 基于 A,CD 基于 B,开发完成后突然要全部砍掉只留 C,于是代码从 AB 部分绕了一大圈,突然又要加个 F,比 C 高一层,于是又强行在 B 和 C 之间加……到最后整个代码结构混乱,看不懂的部分无人敢碰……
    way2create
        105
    way2create  
       2019-06-15 16:04:29 +08:00
    好和烂是相对的,不同的场景追求不同的平衡点,过于极端都不可取
    way2create
        106
    way2create  
       2019-06-15 16:05:08 +08:00
    其次...我觉得维护老旧的代码比较恶心
    FionWay
        107
    FionWay  
       2019-06-15 16:22:13 +08:00
    作为产品也有一样的困扰。。。大家都是同一条船上的人
    v23x
        108
    v23x  
       2019-06-15 16:34:58 +08:00   ❤️ 1
    楼主一看就是新手....
    有几年代码经验的人 不管时间多么紧迫 都不会写特别烂的代码 就是可能缺一点时间重构而已
    yippees
        109
    yippees  
       2019-06-15 22:16:46 +08:00
    不积跬步,无以至千里;不积小流,无以成江海

    就不能弄个模板,弄个代码生成器? 节省下时间再学习下一个?

    一入司就抱怨环境 笑
    NilXuan
        110
    NilXuan  
    OP
       2019-06-15 22:27:18 +08:00
    @v23x 是的啊,一眼看穿我的水平~现在的我是没有经验啊。正因为没有经验,我才不愿写烂代码,即便它功能 ok,也没人批评(有就好了),我也不想继续写,而是学习如何写更好滴~
    经验不会随着时间的流逝自己增长,它需要的是“刻意练习”,所以才不愿继续浪费时间。
    NilXuan
        111
    NilXuan  
    OP
       2019-06-15 22:37:38 +08:00
    @yippees 非常认同你说的第一句话~但是跬步也要讲究方向,不然,原地转圈也是千里;小流也要讲质量,不然,即便积了千条清泉,也难免成为污水沟的命运;
    另外,在场景描述里,我只是在叙述,不知所谓的“抱怨环境”从何而来?最后,笑笑也无妨嘛
    zhaishunqi
        112
    zhaishunqi  
       2019-06-16 00:32:13 +08:00 via iPhone
    没事的时候回去看看上个礼拜写的代码。
    yippees
        113
    yippees  
       2019-06-16 00:33:57 +08:00
    为了赶项目进度,你写的代码并不优美(很烂)。
    你的回复也说明了你没有自己的方向·
    不肯下功夫 模板 代码生成 你都避而不谈··

    进入导师公司后的真实场景 ··不算抱怨环境么

    //算了。你有空这么回复,莫不如多想想代码该怎么优化,再怎么影响旁边人而不是来这儿了

    笑 一屋不扫
    leohxj
        114
    leohxj  
       2019-06-16 09:14:55 +08:00
    类似情况,我选择离开。
    NilXuan
        115
    NilXuan  
    OP
       2019-06-16 09:37:25 +08:00
    @yippees 笑,就是您影响别人的方式?对于垃圾场,我当然不扫;
    使用模板、代码生成,节约的时间能给你“学习下一个”?怕不是不理解“一直赶进度”?
    笑 断章取义
    NilXuan
        116
    NilXuan  
    OP
       2019-06-16 09:39:40 +08:00
    @leohxj 我也觉得离开是最好的选择~
    tourist2018
        117
    tourist2018  
       2019-06-16 10:17:23 +08:00
    如果你是刚工作的话 对自己严格要求是对的 能让你很快的和一般的码农分开档次(相信我,好多程序员就是混日子)

    如果已经这种状态工作几年了,额,估计还是这样搞吧,因为你已经没救了
    kelaredbull
        118
    kelaredbull  
       2019-06-16 10:32:11 +08:00 via Android
    典型的把自己能力不足推给环境不好,继续跳吧,跳三五个坑以后就老实了
    NilXuan
        119
    NilXuan  
    OP
       2019-06-16 10:33:56 +08:00
    @tourist2018 是的啊,这是一个让人心酸的事实,很多人一起混,可能自己就不得不混了,除非离开;
    justfortest
        120
    justfortest  
       2019-06-16 11:43:26 +08:00 via iPhone
    @yippees 试问有多少业务代码能用代码生成?
    clayyj1210
        121
    clayyj1210  
       2019-06-16 17:09:29 +08:00
    模板、代码生成器?
    有时间做这个,那岂不是说明根本不紧么。
    磨刀不误砍柴工?
    哦,那是自己能力不足吧。
    SunFarrell
        122
    SunFarrell  
       2019-06-16 17:49:03 +08:00
    幸好我做底层开发的,那些把代码写烂的同事没几天就不能按时完成需求了
    于是我们有了丰富的 readme
    encro
        123
    encro  
       2019-06-16 21:01:01 +08:00   ❤️ 2
    谁不一开始都是维护垃圾代码,只有极少一部分人不断利用自己时间尝试对现有系统改进,另一部分人思考项目意义价值和如何争取更多资源,后来前者成了架构师,后者成了项目经理,而那些仅仅在抱怨的人还是在抱怨,职位工资都是没有大的变化,或者早就改行了。
    如果你不能静下心来改代码,也许可以试试找下其它不需要专注的行业,当下程序员已经太多了。
    如果将垃圾代码一致维护下去,越来越好,是一门艺术,不是很容易就能掌握的,有约束才有挑战,不会享受挑战的程序员不是好程序员。
    NilXuan
        124
    NilXuan  
    OP
       2019-06-16 21:10:49 +08:00
    @encro 受教了,多谢指点[手动抱拳];
    cfans1993
        125
    cfans1993  
       2019-06-16 22:06:21 +08:00 via Android   ❤️ 1
    不止编程这样, 平面设计行业也是
    刚开始都是做出来的图片垃圾,而且还花费很长时间。等慢慢熬了两年,积累了一些比较好的模板和经验,套版做图那叫一个好又快,思路也清晰。
    NilXuan
        126
    NilXuan  
    OP
       2019-06-16 22:09:20 +08:00
    @cfans1993 看来,你已经达到“好又快”的境界~恭喜恭喜,能达到“随心所欲”的境界,也算是一件乐事啊。
    luozic
        127
    luozic  
       2019-06-16 22:44:02 +08:00 via iPhone
    代码生成器 套路模版 套路代码积累
    wensonsmith
        128
    wensonsmith  
       2019-06-17 09:28:17 +08:00
    @litp #10 以为在考 PMP 可还行。。。
    msaionyc
        129
    msaionyc  
       2019-06-17 09:39:58 +08:00   ❤️ 1
    有追求总归是好的,不要管那些嘲讽,有追求并持之以恒的奋斗,必然不会成为你现在不想成为的那种“编码人员”。
    但有一个误区,认为见到了优秀的代码之后,就无法接受不那么优秀的代码了,大部分项目虽然烂,也还是有其存在的意义的,深究其存在的意义,了解项目如今状况的原因,并找到优化的方案和思路,你也会得到进步的,而且这样得到的启发比自己平时尝试写优秀代码得到的启发可能更深; 就好比建设国家,光去建设是比不上了解历史来的深刻的,你会很容易误入歧途。不论国内国外,烂代码总归是多的,一味逃避并不是上上之选
    NilXuan
        130
    NilXuan  
    OP
       2019-06-17 09:53:39 +08:00
    @msaionyc 是的,正如#123 所说,一味追求优秀代码,可能会让我成为更优秀的 coder,但是改善既有代码也有着其他的可能。
    “见到了优秀的代码之后,就无法接受不那么优秀的代码了”,的确是我曾经的陷入的一个误区,这实际上是对编写优秀代码的渴望和自身能力不够之间的矛盾(程序员初级发展的主要矛盾?);解决这一矛盾,还得提高自身,不能降低追求和渴望。
    另外,以史为鉴,很厉害了!
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3373 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:55 · PVG 19:55 · LAX 03:55 · JFK 06:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.