普通程序员做的多线程
大神级程序员做的多线程
当然,在发量上,普通程序员具备一定的比较优势……
(开个玩笑)
咳咳,正经一点,让我们再把程序员细分一下,初级、中级和高级开发人员之间都有哪些区别呢?
知识储备
显然,高级开发人员比初级和中级开发人员具有更多的知识储备。对于初级开发人员来说,学习设计模式、架构、自动化测试、性能、安全性等,是一种减小与中、高级开发人员之间知识鸿沟的好方法。
知识并不是开发人员之间的最大区别,它只是因素之一。知道怎样完成软件开发中的任务很重要,但是,仅了解这些内容并不能使你成为高级开发人员。
代码整洁之道 ¥99 购买
编码技能
虽然代码最终会被编译为0和1,但是大多数人都认为,编码并不是与计算机交流,而是与人沟通并指导计算机。
对于将来使用代码的其他开发人员来说,代码必须有意义。一个新团队如果有需要,应该能够立刻打开代码并研究新功能或者debug。 这也是初级开发人员和高级开发人员之间最大的区别。
在编码技能方面,中级开发人员是一个灰色地带。中级开发人员介于初级和高级之间,而可能更倾向于高级,因为中级开发人员应该至少已经经历过整个开发周期,他们已经犯过很多最简单的错误,并从中吸取了教训,积累了经验。
初级开发人员
初级开发人员没有经验,有些甚至刚毕业,正在开始他们的第一份全职工作,所以初级开发人员的心态通常是使代码正常工作。
初级开发人员可能并不觉得编写简单的代码很难,而且他们可能会编写一些花里胡哨“炫技”的代码,你可以通过古怪的单行代码和过于复杂的抽象来识别初级开发人员。他们想证明自己可以把代码编写得很好,但是这是错误的。初级开发人员专注于代码的计算机端,而牺牲了人力。
高级开发人员
在查看高级开发人员的代码时,你可能会想:这就是全部吗? 其余的代码在哪里? 一个资深的开发人员会编写最简单、直接甚至是傻瓜的代码。资深开发人员遵循KISS原则:Keep it simple, stupid(保持简单、傻瓜)。这是开发人员在编程时需要具备的最重要的素质之一。
高级开发人员与初级开发人员以不同的方式来考虑他们的代码。高级人员考虑以后要使用这个代码的人员,所以高级开发人员编写的代码具有一定的可维护性和可扩展性。而初级人员可能只是考虑怎样使代码能够在计算机上工作。
进一步地,普通程序员如何晋升为大神级程序员呢?
进入新的高度
初级至中级
由于初级开发人员没有经验,因此经历几次整个开发周期是必不可少的。在这个过程中,你可能会掉入很多“陷阱”,然后慢慢地学会如何规避它们。
在编码方面,你应该学习如何编写简单的代码,并且要考虑到下一个要在那段代码上工作的人。 你还应该学习调试方法,这可以使你更好地了解过程中发生的事情。
此外,你应该多实践,并了解架构,性能,安全性等知识,减小与中级水平之间的知识鸿沟。
中级至高级
从中级升到高级很难,可能一些开发人员的整个职业生涯都会保持中级水平。
高级开发人员对代码整体有较强的把握,知道可以去掉哪些部分,保留哪些部分,这都是经验所得。而且,高级开发人员永远知道如何提出正确的问题,以及如何采取措施,处理这些问题。
如果你想升入高级职位,就必须做好承担没人知道如何解决的任务的准备,而不仅仅是知道如何完成工作。当其他开发人员不知道如何做时,你还是他们的后备人员。高级开发人员的工作还在于帮助经验不足的开发人员。
高级开发人员能够掌握他们公司的技术栈。所以除了编码技能,你需要了解你所在的公司内部正在使用的所有工具和应用程序。
马丁·福勒(Martin Fowler)有一句名言:“任何傻瓜都可以编写计算机可以理解的代码。 好的程序员编写人类可以理解的代码。”
基于此,人邮君给大家推荐一本帮助普通程序员迈入专业,向大神看齐的软件开发秘籍——《代码整洁之道》。
代码质量与其整洁度成正比
书中的具体内容包括:
原因很简单:程序员不能坚持维护注释。
代码在变动、演化,彼此分离、重造又合到一处,但是注释并不总是随之变动——不能总是跟着代码走。所以注释常常会与所描述的代码分隔开来,越来越不准确。
“程序员应当负责将注释保持在可维护、有关联、精确的高度。我同意这种说法,但我更主张把力气用在写清楚代码上,这样可以直接保证无须编写注释。”
所以,真正好的做法就是尽量想办法不去写注释。
对于软件开发者来说,这本书更像是一本枕边书,点很细,很实用。Bob大叔就像一位循循善诱的前辈,把几十年的编程经验真诚地传授给读者,语言直接,甚至是犀利,一针见血地指出问题并给出改进建议,希望读者在提高代码质量上具有显著的效果。
这本书值得不断的品读,而且完全是目录就可以作为一个一个的tips来指导高质量的程序开发。
每一位程序员都有成为大神的可能,人邮君祝你早日抵达。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!