为什么基础很好的程序员写的代码依旧很烂?

2015-02-14 19:41:31 +08:00
 wyan453351466

日常工作中发现一些基础很好的程序员,熟知各种设计模式、算法等高大上的技术,可是写的代码依旧很烂、漏洞百出,并且一直在用最basic的方式编程。

例如忽视很多语言的新特性和新的框架,忽视好用的工具,很喜欢写原生的SQL,并且使用很老的框架和很老的方式编程。

这是什么原因造成的呢?这样的情况在你的身边是否很普遍呢?

17367 次点击
所在节点    程序员
102 条回复
xcv58
2015-02-14 21:37:45 +08:00
你确定理解什么叫基础很好?
WhatIf
2015-02-14 21:49:42 +08:00
@joshryo hashmap 直接遍历出来无序, 换成有序的结构也行,自己写排序也行总之就是想办法实现即可。 如果直接用sortedmap或者用内置排序方法至少说明对类库不算陌生,如果自己写排序,可以顺带看看基本的循环条件之类结构如何,写算法是否严谨。
对了,之前忘说了, 当时是把笔记本直接扔给面试的人,可以上网随意查。 直接ide开了个工程让他们来写代码, 遇到最要命的人还偷偷的把我用于验证的junit test给改了 ,真不知道脑子里面放的是什么
bartley
2015-02-14 21:49:55 +08:00
@ruoyu0088
@WhatIf 同问,hashmap中key有顺序?
WhatIf
2015-02-14 21:53:06 +08:00
@ruoyu0088 是说然按照key的顺序显示value
举个例子吧, 你的代码收到一系列数据, 用map传过来 , 里面key是员工号, value是员工的工作量。 现在要在你的程序里面按照员工号从小大到依次显示对应工作量。
Kabie
2015-02-14 22:02:21 +08:00
。。。确实有很多自称工作很久的连标准库的API都不会用。。。

基本上代码里通篇都是if for switch……这不是在写 C 啊。。。也不是按行数论工资啊。。。
acros
2015-02-14 22:09:35 +08:00
估计就是没做过项目眼界太窄了。
熟知各种设计模式?知道有个毛用,也是真的知道?这可是要做过好多项目才能理解进去的。


或者······
其实是加班太多了。
327beckham
2015-02-14 22:39:13 +08:00
其实,有时候,leader和别人看到的是:多快的速度fix bug和多快的速度new feature,才没有空管你code 怎样。其实有时候我也经常第一天写完的新功能,下班回家思考后觉得有好几个地方可以优化打算第二天重构一下,谁知第二天有新的优先级更高的任务来了。
endrollex
2015-02-14 22:40:27 +08:00
能运行就可以了,写的好老板又不会多给你钱
这样算代码质量越好自己越吃亏
xua131988
2015-02-14 23:15:44 +08:00
楼主敢把那位牛人的代码贴点出来么? 让大家鉴赏一下....
顺便说一句, 很多码农除了看自己的代码顺眼, 其他人的都是屎
qdwang
2015-02-14 23:35:08 +08:00
是看他写的最好的一个作品里的代码水平,还是看他的平均代码水平,或是在天天加急赶进度时候的代码水平。这3者都不一样,有的人只有第一点做得好,有的人3者都做得不错,那就真是高水平 加 有责任心的好程序员。
sampeng
2015-02-14 23:35:30 +08:00
你认为的好 != 别人认为的好
同理
别人认为的好 != 你认为的好
只是从这个角度出发而已,你觉得完美团队,是从你的好出发,如果你负责招人,这件事很容易搞定。
如果你只是小兵,一个字。。。忍。。。
joshryo
2015-02-15 00:44:06 +08:00
@WhatIf 想当年面试都是一张纸,一支笔,让你写代码,有的地方连伪代码都不让写。你这简直太任性话了,把面试的宠坏了。(笑
joshryo
2015-02-15 00:44:46 +08:00
@joshryo 人性...
Ison
2015-02-15 08:35:52 +08:00
俺就是写sql的人。。。
不过俺是真心觉得原生的好。。。
ibolee
2015-02-15 08:53:10 +08:00
程序员至少分俩种,一种是码奴,一种是工程师,区别是思考与付诸行动。其它行业也一样。
vietor
2015-02-15 09:18:09 +08:00
被需求折腾的情况下,很难按下心整理代码。此外,代码工整,是不算绩效的。还有一种情况,就是维护别人代码时,总要进行折中一些个人原则的。
vietor
2015-02-15 09:28:36 +08:00
一直想说的是:一些人将与自己风格不同的代码也定义成烂,是卑劣的行径。烂代码基本的特点是:命名无规则,封装层次不合理,文件拆分不合理,雷同逻辑不重构,注释与代码脱离。
rangercyh
2015-02-15 09:44:20 +08:00
程序员的基础或者说立身之本就是学习能力,不与时俱进的程序员,你从何评价基础好.
shily
2015-02-15 09:55:50 +08:00
如果不是再确认下,以为来知乎了呢。
AKI
2015-02-15 10:00:49 +08:00
一方面是国内都比较排斥新东西,出来个什么东西开始有人喷,然后一堆人站队说老外的真烂
另外一方面因为每个人的生活状态有差别,可能在别人眼里,代码只是养家糊口,正事是别的

摊我身上得看时间,时间多就好好写,时间少,怎么快怎么来。
可不要因为代码小看人啊

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

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

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

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

© 2021 V2EX