程序员写三十行代码,被应届生怼:我能三行搞定!也配叫程序员?

  • 我好像是小号
    https://s3.uczzd.cn/webview/news ... mp;uc_share_depth=1


    身为一个程序员,我们应该知道学习对于自己职业的重要性。如果一个程序员,他因为某一些事情而不去学习最新的技术,可以说技术方面连一位新手都不如,因为现在的互联网迭代速度实在是太快了。

    这不,有网友不敢相信这段代码竟然是一个就业了的程序员写的:



    可以看到,这是一段Java代码。对此,有网友看到之后,就表示:


    有一些网友觉得这段代码没什么问题!仔细看看,好像确实是的,从代码工整度没毛病,细看之下,不难发现,编写者的思维逻辑也非常清晰,运行起来应该也没什么大碍,所以有网友觉得好像没什么大碍。


    还有网友感觉写这么多比较多余,有一丝画蛇添足的味道,因此嘲讽道:莫非贵公司的工资是按照代码行数来发放的吗?感觉这有一点凑数的嫌疑,一个应届生都能用三行搞定的东西,非得用三十行来写,可读性非常差。


    然而,当我们评价别人的代码辣鸡、鸡肋的时候。为何不仔细想想,我们平时去看源码的时候,是否感觉到自己就和上述的例子类似,写了很多如同滑舌天足的代码呢?这正是证明我们的技术还远远不够的迹象之一,说明我们还需要多多努力啊。
    iOS_fly_86.jpeg



    iOS_fly_26.jpeg

    iOS fly ~
  • i
    icestone
    我好像从来没写过switch iOS fly ~
  • k
    kaidokido
    没毛病。。code review 没问题。。。
  • e
    everchens
    程序员也要比长短
  • 古城新人
    他敢叫李德胜?
  • a
    antonychan
    没毛病啊,case里面的逻辑操作还没写而已。。。如果只是为了debug收到的id那就有点累赘。。
  • 遗忘海岸
    类似的代码超过两行就有问题。
  • W
    Wade Zhao
    对,你才是真程序员。

    这一段代码有没有毛病,关键看case里还有没有后续的代码要写。
  • m
    mijuu
    业务逻辑不可能用来输出debug,所以肯定是还有逻辑没有完成,唯一的问题是没写TODO吧
  • j
    jn13lh
    不就应该这样分开吗。?回头每个不同的代码需要什么操作。再往里继续写。
  • 真电工
    挺正常的代码,清晰易读,最烦炫技代码还不带解释的
  • a
    atinvidia
    三行搞定的,用不到那么多
    能写这么工整的,才是合格的电池
  • n
    nostoryboy
    还没写注释呢
  • a
    alvise
    写错了,log都用错了,slf4j的{}都搞错了,再说了,老鸟们写这里的时候一般会用个观察者 或者命令模式处理,初学者才会这么写switch
  • c
    cookite_li
    这我外行看来, 难道不能用个循环吗?
  • x
    xiaomics
    三行确实能写
  • k
    ketkou
    重复率太高了,运行效率也不高,但很容易读懂
  • 寻寻觅觅
    楼上一群高薪电工,我一脸蒙蔽进来,一头雾水离开
  • n
    nkorange
    该有个factory吧 iOS fly ~
  • d
    dvdvvb
    程序员和电工的区别 iOS fly ~
  • s
    songco
    这还好吧

    我们当年一个项目要自己写一个paxos协议的分布式系统,一新人学习了论文后,说他三天就能写一个
    后来团队写出的第一个比较完整的版本,他连大家思路都跟不上,别说整个系统,一个小模块几百行c代码几星期了还有低级内存泄漏

    Poc很容易,production 级别的复杂度一下子就上去了


    对于一楼的代码,还好吧,毕竟逻辑简单,副作用几乎可以忽略,code review我可能都会给过,当然被喷了也得认 交易取消
  • 碧的绿
    虽说是业务逻辑还没写,但是把log放在switch之前就什么毛病都没了。
  • t
    tuzky
    这哥们应该来做PPT
  • m
    monkeyfunc
    普通人和散文家的区别吧
  • 9
    94crazy
    先不讨论后续还要加不加 只针对这code本身 太丑了!相当于能用乘法 却非要用加法一串串的加 结果也对 但是太丑了!水平low的表现。
  • p
    peanuto
    agree
  • v
    volcano200
    写代码应该已经可以AI了吧? iOS fly ~
  • m
    msncom
    滑舌天足。
  • C
    Crack990
    没发现高薪电工都是英文名吗?
  • a
    awk
    代码没问题, 有问题的是这句话:
    如果一个程序员,他因为某一些事情而不去学习最新的技术,可以说技术方面连一位新手都不如,因为现在的互联网迭代速度实在是太快了。
  • v
    valava
    这正是我要求员工写代码的风格,易读性可靠性大于各种技巧,除非某段代码存在性能要求,才会去优化性能。
  • s
    s229959178
    多清晰啊,不怕你写的行数多,就怕后面接手的人看不懂。 iOS fly ~
  • l
    lokta
    回复22#songco
    能搞明白paxos协议的都是大佬。
    膜拜 iOS fly ~
  • m
    mijuu
    是这样,不够严格的多人团队,易读性,可维护性比一点性能损失要重要。
    而且有个误区,代码性能是要关注的,但关注代码行数就是进牛角尖了。
    我宁愿团队里把一个逻辑用几倍的代码量,按各种模块分类完成,也不要写一个超长的单行链式代码。
  • s
    sswjzx

    iOS fly ~
  • z
    zhenyue
    同意,代码能用简单的形式就不要用炫技的形式。

    能少用各种模式就不用,现在过度设计太严重了,很多令人恶心的臃肿不是这样的逻辑罗列,而是那种滥用模式,很简单的逻辑都要用个模式
  • j
    joyfun
    log放外面明显不行呀 default不打log呀
  • z
    zzzzz
    又不是始终会输出同一个log,以后功能扩充了,还是要这么写。
  • I
    Inorvise
    写Java的话,能算过得去。如果是写c的话,这种货还是滚蛋吧。 iOS fly ~
  • 曹孟德
    看不懂 过。。。
  • s
    song10101128
    这个代码有问题,但问题不太大。
    我一直秉承一个准则:写代码,首先是让人易懂好维护,其次才是机器看懂性能好。
    又不是写底层,内存固态硬盘什么的都便宜。至少应用层面不需要太早追求性能。

    身边就有这样工作例子的年轻人。

    喜欢炫技,喜欢重构别人的代码,结果自己还没看懂。来的半年,每个需求只要他改的代码,上线只要测试不到位,未来就有N个故障等着团队。

    沟通了几次,自己受不了离职了。离职之后还发现有他重构造成的坑。

    我自己也重构,但从来都是非常谨慎。一点点来。
  • b
    bluefall
    现在编程不看结构化了吗?
  • a
    asakawalan
    可读性最重要 现在可不是早期程序员一个人单打独斗的年代了 iOS fly ~
  • 风过留声
    我不觉着这样写有问题
    又不是炫技
    你总要考虑代码接班的问题
    现在企业码农和软件工程师混着来
    要就低不就高
    而且性能够的话我是喜欢清晰好读的代码的
  • y
    yangkghjh
    能让别人看懂的就是好代码,炫技往往是挖坑
  • 青溪
    公司的代码考虑的是下个人接手 容不容易 别人好不好改

    自己练手再写这样的代码是有点扯

    炫技的适合自己搞开源 iOS fly ~