8个方法让你成为更优秀的程序员

更新日期: 2020-08-16阅读: 1.5k标签: 程序员

现在是时候认真考虑提高你的编程技能了!

这是给自己设定的一个简单的职业生涯提升目标,但是“成为一个高薪程序员”不是一个简单的目标。一方面,“我要变得更优秀”意味着你知道“更优秀”是什么样的。另一方面,太多立志改善的人却不知道怎么做。

下面我要分享8个可操作的,可提高编程技能的行为准则。


1.提醒自己得学习

学习的第一步是要认识到,你不懂。因为不懂,所以才需要学习。这听上去很明显,但有经验的程序员肯定记得自己用了多长时间才能做好这个心理建设。太多的计算机科学学生带着一种傲慢毕业:“我懂得最多”,自以为是地认为他们知道一切,并且有一种想要证明给每一个新同事看的强烈欲望。换句话说:这样一种“我知道我懂我了解!”的态度会成为阻碍你学习新东西的拦路虎。


2.不要竭力证明自己是对的

要成就伟大——而不只是优秀——你必须从经验中学习。但要小心,经验会让我们重复错误的行为,养成坏习惯。我们都遇到过有着8年经验的程序员……不断说自己的经验丰富,倚老卖老。为了避免一叶障目,你应该回顾自己所做的一切,问问自己,“怎样才能做得更好?”

新手软件开发人员(以及很多有经验的开发人员)观看他们自己的代码是为了欣赏它的精彩。他们编写测试是为了证明其代码可工作,而不是为了让它失败。真正伟大的程序员会积极寻找他们错误的地方——因为他们知道,最终用户必将会发现他们遗漏的缺陷。


3.“代码可工作”不是你止步的标志;而是你开始的地方

是的,第一步是写出高质量的软件,满足规格说明。普通的程序员往往在这里就放弃了,直接跳到下一件事。

但是就此当作是“已经完成”而止步,就像是拍了张照片就希望它成为一件艺术品一样荒诞可笑。伟大的程序员知道第一次迭代就只是第一次迭代而已。可以工作——那么恭喜你!——但是这不是结束。你还需要让代码变得更好。

一些流程定义了何为“更好”。有没有价值使其更快?文档更简单?更可重用?更可靠?对于不同的应用程序,这些问题的答案也各不相同,但是这个流程是不变的。


4.写三遍

好的程序员编写可工作的软件。而那些伟大的程序员编写的软件运行起来极为出色。这很少是能够一蹴而就的。最好的软件通常要写三次:

  1. 首先,你写软件是为了证明给自己(或客户)看该解决方案是可能的。其他人可能不会意识到这仅仅是一个证明型的概念,但是你知道。
  2. 第二,让它工作起来。
  3. 第三,让它正确工作。

这种程度的工作可能并不明显,如果你去看那些最佳开发人员的工作的话。他们做的一切都显得如此才华横溢,但你没有看到的是,即使是明星开发者,在将自己的软件展示给别人看之前,可能也扔掉过第一次和第二次的版本。抛弃代码重新开始是一个能将“力求完美”纳入个人工作流程的好方法。

如果不出意外,“写三遍”会告诉你很多解决问题的方法。它可以避免你陷入困境。


5.阅读代码,阅读很多代码

你可能已经听过这个建议,实际上这是提高编程技巧最常见也是最有价值的建议。但是很多人不知道阅读别人的代码之所以如此重要的原因。

当你阅读别人的代码时,你要去看别人是如何解决问题的。但不要把它当作文学来看;把它当做一个教训,一个挑战。为了变得更好,你得问自己:

  • 我会怎么写那样的代码块?在你看到另一种解决方法之后,你有什么不同的做法?
  • 我学到了什么?怎么应用那个技术到我以前写的代码? (“我从来没有想过在那里使用递归下降……”)。
  • 我要如何改进这个代码?如果它是一个开源项目,而且你相信自己有一个更好的解决方案,那么就去做!
  • 用作者的风格写代码。练习这个可以帮助你了解写软件的那个人的思维。

不要光想不做。写下你的答案,无论是在个人日记,博客,代码审查过程中,还是在开发者社区论坛上。就像给朋友解释问题可以帮助你理清解决方案,写下并分享你的分析也可以帮助你了解为什么你对别人的代码会有这样一种既定方式的反应。这就是我前面提到的自省,自省可以帮助你冷静地判断自己的长处和短处。

警告:阅读大量的代码很容易,但要凭此就成为一个伟大的程序员未免异想天开。许多开发人员会通过开源代码或其他软件来“找寻答案”,而大多数人的做法是,复制和粘贴恰巧出现的可解决类似问题的代码。这样做实际上是在让你变成一个更差的程序员,因为你只是盲目地接受别人的智慧,而没有消化吸收。


6.写代码,而不仅仅是作为分配的任务

工作于个人编程项目有很多优势。首先,它提供了一个学习工具和技术的途径,而这些工具和技术在你当前的工作中是学不到的,但是这能让你在找下一份工作时更有竞争力。无论你是致力于开源项目,还是为当地的社区组织提供无偿的劳动,都可以让你增加技术技能和自信。

为了好玩而写代码的另一个优点是,它迫使你靠自己去搞清楚这些事情。你不能将难的那部分留给别人去做,所以它可以避免你太快地向别人寻求帮助。

小贴士:不要选择那些你永远不会失败的个人项目。你需要失败!但你不会希望在工作中失败,或者当项目有时间期限的时候。


7.尽可能一对一地和其他开发人员合作

这有助于仔细倾听别人的思路和想法。方法可以是结对编程,可以是去参加编程马拉松,也可以是加入一个编程用户群。当你致力于一个开源项目时,要注意你从用户和其他开发人员那里得到的反馈。在他们的批评建议中有没有什么共同点?

你或许会很幸运地找到一个可以信任的个人导师,他会指导你从编码技术到职业决定的所有东西。不要浪费这些机会。


8.学习技术,而不是工具

编程语言、工具和方法变化不定。这就是为什么我们要积累尽可能多的经验,使用尽可能多的语言和框架。专注于编程基础,因为基础知识永远不会改变:要更注重结构,而不是编程。如果你觉得只有一种做事的正确方法,那么可能是时候实战检验了。教条会阻碍你学习新事物的能力,同时要试着让自己慢慢适应变化。

还有很多,但是自我提高的一个关键原则是知道何时停止。


链接: https://www.fly63.com/article/detial/9592

1024节日的由来,程序员的你最想对自己说的是什么?【1024程序员节日】

吃饭睡觉写代码,基本都程序猿的大部分生活了,作为从事最累的职业之一的我们终于有了自己的节日,那就是1024。1024向程序员致敬,向自己致敬,向未来致敬。

一个程序员的运气有多重要

互联网注定是一个不能安宁的行业,有一些人在努力引领变化,有一些人在努力适应变化,有一些人在被时代的浪潮淘汰。这个世界唯一变的就是变化,人生唯一不能停的就是学习,说到底,要想不被淘汰,只有不断的学习。

如何成为10倍速的程序员

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然后用剩下9/10的时间平衡生活、爱好和未来,所以我仅把10x Programmer叫做10倍速的程序员。

优秀的程序员是不看源码的,这是真的么?

仍是要永远 ctrl+v,永远拿来主义。仍是要时时刻刻对美好满怀期待,对未来充满渴望,对经典心怀敬畏。要记住啊,能原创而不原创,有源码而远源码,才是最无知的成熟。

优秀程序员的十个习惯

优秀程序员有哪些好的习惯:1. 想清楚,再动手写代码,2. 不交流,就会头破血流,3. 文档没人看,但还是要写,4. 一定要写注释,5. 别指望需求会稳定

程序员和用户

我曾经说过,程序员不是一般的人,是具有某种超能里的人。但问题是,程序员往往意识不到自己的这种特异功能,在他们的眼里,会认为自己很普通,跟常人一样,所以,程序员能做到的事情

一个程序员送给大学生弟弟的那些话

分析自己的处境; 做适合自己的选择; 以成长为目的,担负起更多责任,打破对做事的认知; 把握机遇,去锤炼自己; 抛弃一些懒惰,多一些积极;向牛逼的人靠近,向给你提供条件帮助你学习的老师靠近。以上结合了我自己的经历,希望文章能更形象。

程序猿跳槽季,为什么你的薪水总升不上去?【转载】

现在身处跳槽高峰季,作为即将跳槽的我,在这里分享几点建议给大家。众所周知,找工作的前提是面试,面试的前提是过了简历,过了简历的前提是你怎么投。

程序员养生攻略_程序员防猝死指南

程序员在其职业生涯中,健康问题尤为突出。但是大部分程序员只顾码字,却往往忽略了自身的健康问题。这或许是因为写代码太入神,也或许是因为来自老板的压力太大。

程序员笔名、别名_适合程序员的英文名字

一个厉害的程序员,都会有一个牛逼哄哄、有辨识度有个性的英文别名。在公司同事中很更好的称呼,这篇文章翻译整理了一下适合程序员的英文名字

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!