V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
voidmnwzp
V2EX  ›  程序员

大家公司的项目代码会写的尽善尽美吗

  •  3
     
  •   voidmnwzp · 106 天前 via iPhone · 10521 次点击
    这是一个创建于 106 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如命名变量讲究,尽量低耦合设计,接口测速,尽可能的优化和压榨性能等等,我之前写业务代码是打算这么做,但又想到这些个代码又不属于自己,优化的再好老板也不会给加工资,想通后所以现在是估期多估 2d ,尽量快速完成开发,至于优化啥的等测试提再说,没提是最好,然后剩下时间全用来写自己的开源项目,好歹 GitHub 上的项目写在简历上面试官可能会看
    166 条回复    2022-10-14 10:34:59 +08:00
    1  2  
    lessMonologue
        1
    lessMonologue  
       106 天前
    工期紧,能跑就行。有什么非要优化的理由吗
    uiosun
        2
    uiosun  
       106 天前   ❤️ 4
    @lessMonologue 是人能跑,还是代码能跑?
    voidmnwzp
        3
    voidmnwzp  
    OP
       106 天前 via iPhone
    现在写业务代码就是快速流水账了 无脑命名变量,能在一个方法里写完的逻辑绝不拆分,数据全查 db ,如无必须绝不用缓存
    qiumaoyuan
        4
    qiumaoyuan  
       106 天前   ❤️ 17
    感觉多数程序员就是短期混,长期熬。要想长期不难受,自始至终只有不停地跟熵作斗争这一条路。时时勤拂拭,勿使惹尘埃。
    qiumaoyuan
        5
    qiumaoyuan  
       106 天前   ❤️ 44
    技术债早晚得自己买单,不是在项目上,就是在职业生涯上。
    wjfz
        6
    wjfz  
       106 天前   ❤️ 27
    当然是认真写,下班偶尔也会重构优化,甚至有时候做梦都是解决方案。

    1 、要对得起自己的良心。
    2 、质量 > 数量,面试官一看 GitHub 上的代码稀碎也不好,况且一般来说不出名的项目也加不了几分。
    3 、很多设计和优化是在工作中领悟到的,公司的项目肯定比自己的小项目复杂。
    4 、世界很大,圈子很小,口碑很重要。
    wangtian2020
        7
    wangtian2020  
       106 天前   ❤️ 2
    我前端,爱把代码写的尽可能的短,能用新特性就用,其他真的不讲究
    meteor957
        8
    meteor957  
       106 天前
    取决于工期,代码质量远没有按时上线重要
    xsqfjys
        9
    xsqfjys  
       106 天前   ❤️ 1
    时间充足会尽量优化 后续出 bug 或者有变动改起来也简单
    其次也是实践练习了,天天写垃圾哪天想写点好的都写不出来
    golangLover
        10
    golangLover  
       106 天前 via Android   ❤️ 1
    会的,对自己一种训练
    duan602728596
        11
    duan602728596  
       106 天前   ❤️ 5
    会的,因为写好了,后面加需求或者删代码也会快很多。节省的也是自己的时间,这个时间无论是学习、划水还是干私活都是赚到了。而且简历上也有资本吹了。
    dalianliyan
        12
    dalianliyan  
       106 天前
    代码质量差不多就行。实际工程项目还是要数据在里面了,才有优化的方向。理论上快排比插入性能高,可实际数据就 20 几个,实际插入性能还更好些。
    jatsz
        13
    jatsz  
       106 天前
    如果你合作的 repo 人数够多,当团队人员技术过了一个门槛以后,尽善尽美代码本身的收益会很小。更多的收益或者时间花费在工程和业务的梳理上。我相信我所在的团队,如果能排除工程干扰(legacy code)干扰,能明确业务,每个人都能写出 good enough 的代码。
    SuperManNoPain
        14
    SuperManNoPain  
       106 天前
    工时不紧张的话,会写好一些,毕竟平时都写不出好代码,真想好好写,又怎么写得出来呢
    snowsui
        15
    snowsui  
       106 天前   ❤️ 7
    时间允许的情况下会尽量优化
    1 、可以节约自己将来的时间
    2 、方案做的好晋升的时候可以吹
    3 、可以锻炼自己的能力,百万的 qps 和自己那点比还是差不少
    4 、你写的代码人人都看得到,写的怎么样大家心里都有数
    5 、强迫症会尽量让自己写的好看
    renmu
        16
    renmu  
       106 天前 via Android
    有一个能跑就行
    JamesR
        17
    JamesR  
       106 天前
    有余力当然会做,其实最要紧的是先把缺的,必要的注释写上。
    Shura
        18
    Shura  
       106 天前
    你没想过你可能重构你之前写的代码吗?
    sunhelter
        19
    sunhelter  
       106 天前
    如果公司各方面都能让你满意,想长期干下去,那当然要
    serialt
        20
    serialt  
       106 天前
    能跑就行,不要管是代码还是你
    polo3584
        21
    polo3584  
       106 天前
    自己长期维护的项目,尽量考虑得全一些。加班赶工的项目,能跑就行,以功能实现为主要目标。合作负责的模块和接口,注释详细免得别人看不懂还要来问。
    bigpigB
        22
    bigpigB  
       106 天前
    @qiumaoyuan 我直接组长天天埋雷带坑,然而人家跪舔领导厉害,依然稳
    wolfie
        23
    wolfie  
       106 天前
    能跑就行的代码,真的会提高开发速度吗?
    wukongkong
        24
    wukongkong  
       106 天前 via Android
    当然。如果手下代码有问题会指出,要求必须改。不然和咸鱼有什么区别。我们的代码因为业务多,经常重构,整体质量越来越稳定,客诉逐渐变少。
    huangwei8ku
        25
    huangwei8ku  
       106 天前
    怎么说呢?不影响工期进度,可以按照领导的要求好好写,但如果超出项目期限了,领导不背锅,那就不给他写
    ihciah
        26
    ihciah  
       106 天前
    可以慢慢迭代,但不接受自己造💩
    justin2018
        27
    justin2018  
       106 天前
    不会

    写得好 下一个毕业的 就是你~
    qiumaoyuan
        28
    qiumaoyuan  
       106 天前
    讨论的朋友蛮多的,补充一下。其实工期太紧,跟领导又说不通(延长工期、给时间重构之类)的话,有两种选择:可以临时选择应付一下,再用业余时间来完善;或者干脆把完美主义贯彻到底,上班写不完下班回家写,这跟前一种选择差不多,都是占用业余时间。但最后受益的仍然是自己。就如前面几楼的朋友说的,一方面往后的工作会舒服很多,可能就不用再占用业余时间了;另一方面自己成长的受益是一辈子的。

    当然如果公司又赶工期又整天加班到完全没有业余时间,甚至整天睡眠不足严重损害健康,就像我上一份工作那样,那我会选择走人。
    Mexion
        29
    Mexion  
       106 天前
    不会,主要写的又不是自己喜欢的,随便写能跑起来就行
    insert000
        30
    insert000  
       106 天前
    那就看是对谁了,自己公司产品 还是会写的好点,给客户交付的又事逼又不砍需求的,能用就行
    shyangs
        31
    shyangs  
       106 天前
    過早的優化是萬惡之源.

    從理論上來說,抽象程度越高執行速度越慢:过程式编程 快於 面向对象 快於 函数式编程





    所以你選擇速度優化還是抽象優化
    southsala
        32
    southsala  
       106 天前
    对于公司项目代码来说,所谓代码质量也是为了工程化服务,稳定、快速、简单
    mosliu
        33
    mosliu  
       106 天前   ❤️ 3
    当一块东西完全自己负责及负责任时,写的越好对自己越好。起码不用半夜被从床上叫起来修 bug
    Jinnyu
        34
    Jinnyu  
       106 天前   ❤️ 1
    其实你可以换个角度去考虑
    代码质量的高低 完全取决于真正写代码的人
    不在于是公司的项目还是个人的项目

    **无论如何对项目有整体的设计和预估是高质量代码的开端, 不要为了用某某技术而使用某某技术.**
    点名 Java 中的微服务模式, 尽管我也是 Java 开发. (仅限那些为了微服务而微服务的傻屌决策者)

    良好的代码设计 /分层 /逻辑是不会欺骗你的
    这些是属于你的能力, 不会因为是公司的项目就留在公司.
    长时间的累计后你会发现, 即使你想写的烂也不会离谱到哪去.
    wuxinling
        35
    wuxinling  
       106 天前
    写得好纯粹是为了偷懒,以后也是自己维护,写的好一点,后面省心一点。
    baiyi
        36
    baiyi  
       106 天前   ❤️ 1
    软件的可维护性也是工作的一部分,这是软件研发团队需要明白的一点,研发团队也需要为此与其他团队抗争,来保证这一点。同时这也是作为软件开发人员职责的一部分,如果忽视软件可维护性的价值,那么系统将会越来越难以维护,总有一天会变得无法维护,如果系统变成这样,那么说明你没尽到责任。

    这是我从《 Clean Architecture 》这本书中学到的,也一直在用其要求自己。虽然不太符合大多数公司的现状,但也可以尽量让其他人或团队明白软件架构和代码整洁的必要性。
    Kontinue
        37
    Kontinue  
       106 天前
    代码自然是能写好就写好,至于性能,除非前期就明确了性能指标,否则按序优化吧
    jackie8tao0306
        38
    jackie8tao0306  
       106 天前   ❤️ 1
    在国内这是不可能的,100%不敢说,99%是可是说的。
    Leviathann
        39
    Leviathann  
       106 天前
    第一次写,糊屎或许会快
    下次要改动呢?
    Leonard
        40
    Leonard  
       106 天前
    看项目,长期项目尽量写得模块化好复用,但是产品总能整幺蛾子让你没法直接复用
    blackboom
        41
    blackboom  
       106 天前
    愚蠢啊!
    ysn2233
        42
    ysn2233  
       106 天前
    开始会,然后越来越不会
    nekoneko
        43
    nekoneko  
       106 天前
    自己从开始就负责的项目会, 接手的粪堆不会.
    weivi
        44
    weivi  
       106 天前
    会,作为一个小项目的负责人。从长期来看,适当的优化可以降低之后的开发难度,新人来了也容易快速上手。该优化的不优化,总有要还债的时候。
    xaplux
        45
    xaplux  
       106 天前
    有时间就打磨打磨,没时间就凑合凑合
    blastbao
        46
    blastbao  
       106 天前   ❤️ 1
    前提是工作稳定,在互联网公司没准哪天业务、岗位就没了,想不到较真的意义在哪。写的太简洁、通用反而是工程师被替代的催化剂。
    murmur
        47
    murmur  
       106 天前
    @shyangs

    https://leanylabs.com/blog/js-forEach-map-reduce-vs-for-for_of/

    你们的数据谁有问题,for loop 快于 for each ,只是 3-4 倍的速度,你那个图里的太离谱了
    pengtdyd
        48
    pengtdyd  
       106 天前
    代码和人有一个能跑就行,写那么好给谁看?
    Leviathann
        49
    Leviathann  
       106 天前
    @shyangs 少 render 一次够执行几万遍 foreach 了
    lujiaosama
        50
    lujiaosama  
       106 天前
    在时间允许的前提下, 对自己有点要求优化下代码, 看起来有满足感, 维护起来轻松, 复用起来方便, 下次写类似代码就能又快又好.
    shyangs
        51
    shyangs  
       106 天前
    @murmur

    ie6 ~ ie8 都不支援 Array.prototype.forEach(),
    我以為你只用 for-loop
    jsjgjbzhang
        52
    jsjgjbzhang  
       106 天前   ❤️ 4
    如果公司优化员工的时候会考虑这么多就好了
    ymmud
        53
    ymmud  
       106 天前
    需要自己维护的上点心,其它的烦不了
    icyalala
        54
    icyalala  
       106 天前
    不同公司、不同项目,差别大得很。是我经过的几家公司,大部分人都不会。
    但时间允许的话,我自己还是会尽可能写好一些的代码。
    Maxwe11
        55
    Maxwe11  
       106 天前   ❤️ 5
    公司研发能够活下去的研发核心理念:

    1 、汇报比代码重要;
    2 、尽善尽美的代码和低 bug ,首先业务导向的企业掌权的没人会 review 你的代码,另外低 bug 会显得你在公司无足轻重,那些每日产出 bug ,天天配合业务找错,1 、2 年不得已就得推倒“研发”全新版本的技术人员尤其备受公司重视。

    公司系统尤其是业务代码也不可能拿出去,所以节省点儿时间,差不多就得,速度效率首位,有人问这就是“敏捷开发”,省下来的时间想提升技术的自己拿理念正经琢磨清楚,然后换个业务形式重写一次;

    重视人生体验的,有这闲功夫去维护维护妹子关系,孝敬孝敬父母,跟朋友烧烧烤,喝喝酒,出去跑跑步,比啥不强。
    rockoverflow
        56
    rockoverflow  
       106 天前
    业务代码可以看作垃圾
    mingl0280
        57
    mingl0280  
       106 天前
    会,主要是因为产品卖出去了一般要用十年的,不写好代码客户天天找你赔的钱都能把部门给卖了……
    fournoas
        58
    fournoas  
       106 天前
    @qiumaoyuan 首先,公司寿命不一定有你代码寿命长;其次,到时候说不定早就跑路了
    fournoas
        59
    fournoas  
       106 天前
    个人项目会,公司项目不会。
    joooooker21
        60
    joooooker21  
       106 天前
    当然会

    题外话,既然对公司这么厌恶,为何不跑呢?既不开心,也没有提升
    salmon5
        61
    salmon5  
       106 天前
    我碰到的这种人极少,和工作强度无关,都想躺着领工资
    bear2000
        62
    bear2000  
       106 天前
    自己当然是认真写好,但是开发周期太短,整体的代码稀巴烂
    wupher
        63
    wupher  
       106 天前
    sometimes

    你读书时,高考除外,会坐在考场里冥思苦想,尽全力考一个更好的分数吗?
    fstar
        64
    fstar  
       106 天前
    不会。因为我改不动同事的复杂代码。每次要修同事的代码就头大。真就前人爽拉屎,后人吃屎
    HashV2
        65
    HashV2  
       106 天前   ❤️ 7
    我之前一个妹子开发同事,review 代码的时候 leader 说她某个地方写的不好,可以怎么怎么优化,
    她说:这样写也没有问题啊。leader:这样写 cpu 它不累吗?妹子:它累让他累呗,又不是我累
    我当场没忍住笑出声了。
    qiumaoyuan
        66
    qiumaoyuan  
       106 天前   ❤️ 3
    @fournoas 这么说吧,对代码真能写得干净的程序员来说,不存在这种“要不要把代码写好”的问题。
    rxswift
        67
    rxswift  
       106 天前
    @uiosun 人和代码,有一个能跑就行
    rxswift
        68
    rxswift  
       106 天前
    @HashV2 有些女同志真的让人一言难尽
    karott7
        69
    karott7  
       106 天前
    非必要情况不去优化,一是怕改崩了或者没改好,再就是有空多研究新技术,好出去面试吹
    dcsuibian
        70
    dcsuibian  
       106 天前
    会尽量往好了写,这是职业素养,但还不至于尽善尽美。

    工作中,需求可能反复变更,领导和同事不是很重视代码、性能甚至是功能,团队其它成员的技术栈和水平,不喜欢现有的代码风格等,这些都会影响到工作热情。

    自己的项目可以精益求精,写法和变量名可以再三修改,但也会想这样是不是浪费了不少时间。

    而且公司的项目再怎么烂还是拿来赚钱的,自己的就很难说能派上多大用途,陷入自我怀疑。
    yaphets666
        71
    yaphets666  
       106 天前
    @qiumaoyuan 溜了就是别人买单了
    fournoas
        72
    fournoas  
       106 天前
    @qiumaoyuan 太天真了,你要看产品怎么给你半路加功能了
    bitmin
        73
    bitmin  
       106 天前
    成本不高的情况下会改,成本高的就不动了,不过度优化。主要还是因为时间有富裕。
    qiumaoyuan
        74
    qiumaoyuan  
       106 天前
    @fournoas 我觉得你先理解我说的话吧。
    intmax2147483647
        75
    intmax2147483647  
       106 天前
    写代码不追求写的更好更优雅的程序员,还是尽早转行吧
    hay313955795
        76
    hay313955795  
       106 天前
    代码的最初形态都是尽善尽美的。能模块化的就模块化....后面工期紧了 只能瞎补了
    pkoukk
        77
    pkoukk  
       106 天前
    新项目好好写,屎山看心情,大部分情况下都会入乡随俗
    chenyu8674
        78
    chenyu8674  
       106 天前

    防止被未来的自己穿越回来掐死
    funbox
        79
    funbox  
       106 天前
    做的太好 带动不了就业啊
    leisure
        80
    leisure  
       106 天前

    想掐死三年前的自己
    cxbig
        81
    cxbig  
       106 天前
    不被 PR 打回来的前提下,越快完成越好。
    打磨是没有止境的,自己找效率和质量的平衡就好。
    elevioux
        82
    elevioux  
       106 天前
    时间充足的话,还是会仔细考虑代码 /项目结构的,因为不能给后续开发埋太多坑。

    时间紧的话,怎么快怎么来了。明明知道这样写不太妥,但是,,罢了罢了,我只想下班。。。。
    otakustay
        83
    otakustay  
       106 天前   ❤️ 1
    代码写得尽善尽美难道不是属于自己的快乐吗
    qzhai
        84
    qzhai  
       106 天前
    不会,
    项目永远至服务于客户的。
    所以永远都会已解决用户需求的角度出发,即使是大公司也是这样。
    开源代码之所以很规范的原因也是如此,因为这也是用户需求的一部分。
    fournoas
        85
    fournoas  
       106 天前
    @qiumaoyuan 也请您理解一下
    onice
        86
    onice  
       106 天前
    在满足项目要求的情况下,怎么快怎么方便怎么来。

    如果优化做多了,项目进度就慢,其他同事还会觉得你是拖油瓶。

    比如文件上传,应该禁止脚本后缀的。按理说前端,后端都应该去检查。

    但实际是前端大概检查下,后端直接忽略。

    上线后网站被攻击了,和我又有什么关系呢?反正项目已经验收了。

    如果我在开发的时候,去考虑 xss ,写过滤器。csrf 漏洞,每个提交表单都去验证 token ,纯属是给自己找不自在。

    多做事却不出成绩。
    qiumaoyuan
        87
    qiumaoyuan  
       106 天前
    @fournoas 话是我先说的,你在跟我对话,难道不是要先看明白我在说什么?你的逻辑啊。
    qiumaoyuan
        88
    qiumaoyuan  
       106 天前
    @fournoas 小孩式的争论就不必了。
    Eathein
        89
    Eathein  
       106 天前
    在我看来一切工作都该以对跳槽涨薪有帮助为导向。普通项目糊完就行,优质项目好好完成可以写进简历。有时间就该多摸鱼多划水多为下一份工作学习技能。
    456789
        90
    456789  
       106 天前
    开始尽量写得好导致一直拖任务,后来就随便写了,能跑就行,之前公司的老人一个没有了全跑了
    LoNeFong
        91
    LoNeFong  
       106 天前
    我是时间决定的 排期紧到 996 谁会想着抽象,tmd 能做完就不错了
    写个人项目时间充裕的时候会反反复复琢磨优化
    offswitch
        92
    offswitch  
       106 天前
    @fournoas 别跟这些人打嘴炮了,这些人也就嘴上说说,实际上工作中一大堆 shit hole,别人接手觉得写的一坨屎,他们还沾沾自喜觉得自己写的比较好,所以别人看不懂。
    绝大部分人写的代码说得不好听,就是一坨屎,完全没啥学习价值,就是为了完成业务而已
    salmon5
        93
    salmon5  
       106 天前   ❤️ 1
    你写的尽善尽美,领了一份工资;
    你的同事没有写的尽善尽美,少于你很少的时间,领了一份工资,并且保护了身体健康;
    你的同事没有写的尽善尽美,少于你很少的时间,领了一份工资,搞了一份兼职,领了 2 份工资;
    Shiu
        94
    Shiu  
       106 天前
    如果在屎山上作业,能把原来的屎包起来已经很了不起了
    TomVista
        95
    TomVista  
       106 天前
    我主要工作是写小程序快应用, 能跑就行,没写过的人,是不知道小程序快应用开发体验有多恶略.dog
    yuelang85
        96
    yuelang85  
       106 天前
    我想,老板不让。出了问题,老板骂人
    Kakarrot
        97
    Kakarrot  
       106 天前
    我写 maxscript 都进来重构好几轮 因为之前自学所以写项目时候 一个版本发出去后就开始优化重写第二版了...

    强迫症没办法
    bytesfold
        98
    bytesfold  
       106 天前
    必须要写精,很多知识都是不断修改的时候积累的。
    ashtwo
        99
    ashtwo  
       106 天前
    刚开始的时候会,但之后因为一直压工期,多个项目并行后就不会了。
    fournoas
        100
    fournoas  
       106 天前
    @offswitch 看到“用业余时间来完善”、“上班写不完下班回家写” 什么的,我差点笑出声
    1  2  
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2180 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 420ms · UTC 01:48 · PVG 09:48 · LAX 17:48 · JFK 20:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.