程序员那些事:⼏千⾏能搞定的代码,为什么要写⼏万⾏?
写程序是⼀种创作,不能算是苦⼒。不能每天在电脑前枯坐⼗⼏个⼩时,否则超时作业,只会让⾃⼰的脑袋更糊涂,⽆法分⼼进⾏深⼊创作。
在创作程序的期间,优秀的程序员花在写程序上花的时间应该不会超过4个⼩时。主要是因为⼈的精神集中在4个⼩时内,超过4个⼩时,精神容易崩掉,那么其他所做的⼯作都是⽆⽤功。
⽬前,很多⼈都说程序员⼯作经常要加班,整天不停歇的写程序,其实主要是因为他们处理问题的经验不⾜,实践时长短,⽆法快速⽽⼜正确的写出所需程序,所以他们⼤部分都是累积经验和重复所写程序。
我⾝边很多优秀的程序员,每天写程序的时间都不会太长,通常是写4个⼩时的程序,就会做其他的事情或者休息。
因为集中精神处理⼀件事情,是很费脑⼦的,如果⼀直处于绷紧神经的状态,那样也不会有很好的效果。反⽽,停下来,做其他事情,或者休息,放松⼤脑,就有可能想到很不错的解法。
写⼀个⼤型程序,并不是⼈多好办事
在国内,通常遵循团结就是⼒量,⼈多好办事的原则。所以,很多企业都会选择招聘很多⼈,做⼀件⼤事情。⽐如说制造业,⼈越多,那么产出也就越⼤。
然⽽,在软件开发这⼀块⾥,写⼀个⼤型程序,并不是⼈多好办事,⼈越多,就越是难以协调,写出来的程序也往往品质越来越差,效能也越糟糕。
我曾经跟⼀个项⽬,公司的程序员达到了8个,分⼀⼩块⼀⼩块的进⾏程序写作。当时觉得⼈多,那么效率应该也会快很多,
怎样写代码 自己做编程但是结果发现出现的问题往往出乎意料,因为⼏个程序员所写的程序都有重叠的部分,结果还要花⼤部分时间来解决重叠地⽅的问题。
所以,其实我也并不明⽩有些公司雇⽤很多的普通程序员是为了⼲什么?但是努⼒摆脱平庸,成为优秀程序员,是每个程序员的⽬标。
写程序并不是写的越长越好、越厉害
很多⼈认为程序写的越长越好,其实并不然。⼤多数情况下,程序越短越好。只有在追求可读性的情况下可适当详细些。
⽐如说,不要为了缩短代码⽽使⽤很长的单⾏表达式或嵌套表达式,但也不要增加冗余的代码。最好的做法,就是删去所有不必要的代码。
程序员在写代码的时候,有很多⽅式,让⾃⼰写的程序更加精准与精炼。可以使⽤简短的,通⽤的或基于类型的变量命名,尽量保证变量命名能够清晰地表述变量。
如果要使⽤固定的字符串或数值,应该将其定义为常量,并命名。
还需要注意的是避免语句过长。任何超过80个字符的⽂本都是难以阅读的。你可能想在同⼀⾏放置长条件以便看到完整的if语句,这是不可取的
,⼀⾏永远不要超过80个字符。当然这些个⼩问题可以通过⼯具轻松解决。
程序员的优秀与否,不仅仅是看你写的程序是否够长,⽽是在于所写的质量过不过硬。
复杂的程序,并不能⽤来
不懂装懂才是最可悲的。很多程序员总是将简单的问题弄的很复杂,写出别⼈看不懂的程序。其实,这个逼装的有点low。
优秀的程序员往往都是能够把复杂的问题简单化,写出架构清楚明⽩的程序,让⼈看了之后,觉得问题好像很简单。有⼈就会觉得他们所做的事情也都很好懂,
很简单的样⼦。然⽽并不知道⼈家背后是怎样做的,复杂的问题,都被他们⽤⾃⼰的学识与经验都化解了。
所谓⾼⼿,并不仅仅是解决复杂的问题,同时他们往往还能⽤最简单易懂的程序来解释复杂的问题。⽽把简单的问题弄的很复杂的只是⽔平不到家的⼈。
优秀的程序员不是机器,他们往往是以⼀当⼗
优秀的程序员,并不是⼀个复制代码的机器。贪图省事⽽复制代码,那么,只会让代码更加混乱。就好⽐,要在混乱的房间中,添加⼀把新椅⼦,
⽽不是调整现有椅⼦的⾼度。因此,头脑中始终要有抽象的概念,并尽可能地去使⽤它。
当然,⼀个优秀的程序员也并不那么容易。他的能⼒体现在于系统化完成任务需求,并且还能够创作出优质的程序。如明明⼏千⾏代码能搞定,偏偏写了⼏万⾏代码,这便是程序员能⼒⽋缺的体现。
对于优秀的程序员来说,创作⼀篇⾼质量的⽂章不易,因为它需要反复推敲研究,⽽⾼质量的代码也不例外。
编写⾼质量代码是这样⼀个流程:
思考、调研、规划、编写、验证、修改。按照这样的思路⾛,你会逐渐形成良好的编程习惯。
⽽新⼿最⼤的错误就是急于着⼿写代码,没有⾜够的规划与研究。虽然说编写⼩程序是没有很⼤的问题,但对于⼤项⽬⽽⾔,就会有很多显性和隐性问题的出现,处理这些问题⽐写的过程更难。
所以为了防⽌代码写完后,发现重⼤问题,需要别⼈帮你擦屁股,所以最好进⾏深远规划,再开始执⾏。
所以,这样优秀的程序员往往都能够以⼀当⼗。因为他们可以减少各种错误的出现,减轻项⽬进⾏压⼒,提升⼯作效率。
如果哪天你能够跟⼈说,我写的程序功能超强⼤,然后我只⽤⼏千⾏程序就搞定了,那这样你就能以⼀当⼗了。
另外如果你想更好的提升你的编程能⼒,学好C语⾔C++编程!弯道超车,快⼈⼀步!笔者这⾥或许可以帮到你~
UP在主页上传了⼀些学习C/C++编程的视频教程,有兴趣或者正在学习的⼩伙伴⼀定要去看⼀看哦!会对你有帮助的~分享(源码、项⽬实战视频、项⽬笔记,基础⼊门教程)
欢迎转⾏和学习编程的伙伴,利⽤更多的资料学习成长⽐⾃⼰琢磨更快哦!
免费学习书籍:
免费学习资料:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论