我已经做了30多年的程序员了,程序员是一个终身学习,练习和提高的职业,在我的职业生涯中,我发现了很多方法来提高编码水平
提升程序员水平的50种方法
1.写大量程序,你写的每个程序不论大小,都会给你一些经验。练习可以提高你对编程概念的理解。
2.让编程变成你的爱好。开发个人项目可以创造热情和激情。如果你喜欢这样做,学习就很容易了。
3.在Stack Overflow上找答案。如果你有一个编程问题,很有可能会在Stack Overflow上找到答案。对答案保持批评态度,并把这个当作学习的机会。当你准备好的时候,也回答一下别人的问题。
4.读好书,完成里面的例子。好的编程书有体系化的内容可以学习, Deitel books里面有很多例子和解释,如果你是个新手,可以看看我的书: The Super Simple Programming Book。
5.学会一种方法,忽略其他方法,编程语言提供了不止一种方法去完成同一个任务,有几种方法可以将整型变量增加1。现在学习一种方法,然后你就可以学习其他编程概念了。
6.学习基础的编程概念,当你学习编程的时候,基础很重要。学习数据类型,输入输出,选择,复用,等等。注重基础概念,这些将有利于学习其他语言。
7.找一个导师,和有编程能力的人建立联系,从一个导师身上学到的远比你从网站和书上多的多。
8.参加编程赛事,编程赛事是练习编程水平的有趣方法。推特有#100DaysOfCode.Code.org 有 Hour of Code.The Advent of Code真的是一个很有趣的编程挑战在11月的前25日。线上有更大赛事。
9.参加一个免费的学习课程,Coursera有很多来自顶级大学的优秀计算机课程。在Udemy.上有很多相似课程。MIT OpenCourseWare出版了部分计算机科学课程的教材。
10.使用code linters,代码分析器为你的程序提供即时反馈。在线的w3c校验器可以校验你网页文档的合理性。ESlint帮你找到修复js中的合理性。Pylint可以校验Python 代码。Linters也可以在像vscode的IDE中当作插件使用,linters通过标记错误和建议性改变强迫你学习。
11.利用静态代码分析工具。SonarQube平台可以分析静态代码。可以帮你写出简洁,准确,安全的代码。
12.参与代码审查,包括作者和审查者。不要害怕代码审查,拥抱他们。我们都犯错误,错误是学习的绝好机会。
13.看油罐视频。上面有几乎所有多编程的教程,说明和课程。这些视频是学习编程的简单方法,仅仅通过看视频。比如,这里有一些关于Node.js的视频课程。
14.解决欧拉项目的问题。Project Euler有很多可以用代码解决的数学和电脑科学的问题。该网站列出了解决每个问题的人数。
15.参与谷歌代码大赛。Google coding competitions对于练习很有用,而且你不需要正式参加比赛。 Code jam是年度,世界性的代码比赛。它列举了过去和现在的问题。也可以看看Google kick和哈希码比赛。
16.使用IDE。集成开发环境,是可以帮你创造,编辑,debug程序的好工具。在你写代码的使用,IDES可以发现和高亮错误,给你正确的建议。IDE在你敲代码的时候给你集成性的代码参考。插件添加了额外的工具,如 linter 和查看器。现在最流行的IDE是 Visual Studio Code。
17.返回学校。如果你有条件,在当地的大学院或大学参与一个计算机课程,攻读计算机科学学士学位或认证,获得硕士学位将使您有资格在大学任教。
18.考虑参与一个编码训练营,编码训练营提供特定编程技能的专门培训。这些技能通常需求量很大,参与训练营一定要小心,他们通常不一样,而且大多数都很贵。
19.写技术博客。要学习一些东西,阅读它、听它和写它是有帮助的。在博客中写下您的日常编程经验将增强您的学习。让你有东西学更多的东西。两个流行的博客平台是Dev Community和 Hashnode,都是免费的博客平台,使您可以轻松地立即开始写博客。
20.通过在线教程工作,有很多优秀的在线编程教程,有些是为了阅读。其他都是互动的。W3Schools简单,互动,快捷的在线平台。Codecademy有很多不同语言的优秀互动课程。
21.参与编程论坛。阅读反馈博客。这些互动是非常好的学习机会。比如对java程序员来说,JavaRanch和Java Programming Forums是非常流行的java在线社区。
22.编程教学,教别人写代码,可以有效的提高你的编程知识,辅导大学或本地学生。为了去教别人,你必须备课,写例子,回答问题。这将迫使你理解编程,即使是志愿教授编程也有好处。
23.搞一个属于你的站点,如果你喜欢web开发,学习怎么开发你自己的网站。包括域名注册,托管和维护。像这样的个人项目给了很多学习和编码的动力。
24.参与代码面试。许多公司需要现场编码课程或带回家的作业作为面试过程的一部分,这些活动提供了非常好的学习机会和现实实践。你必须提前准备和学习。编码面试很有价值,即使你没有得到这份工作。
25.在开源项目中学习。开源项目站点,比如GitHub和GitLab提供了非常好的学习例子。其中许多软件项目在业界都很受欢迎,给这些项目做贡献提供了更多代码练习。
26.遵循编码标准、最佳实践和风格指南。代码标准和最佳实践改进代码。可以让代码更易读,更容易维护,更准确,谷歌为很多编程语言发布了代码标准和风格指南 。 PEP8 Online检查 Python 代码并建议最佳实践和指南。
27.成为自由职业者。把写代码当作服务。您可以在网上找到许多自由编程任务,即使一个好的练习机会也可以挣点钱。
28.参与技术社区,找到一个你所在领域的技术社区。在LinkedIn, Facebook, Meetup和其他站点有很多在线编程组。你可以和别人互动来分享你对技术的热忱。
29.找一份工作。找一份编程方面的工作,任何编程工作。没有什么比行业经验和学习更胜一筹了。
30.志愿写代码。每个行业都需要编程技术,很多行业没有能力雇佣程序员,有很多志愿编程的机会。在当地学校,俱乐部,组织有很多你可以提供帮助的编程任务。 Code.org可以匹配到所在领域的志愿编程机会。
31.写原生代码。是的。框架和库让写代码变得更简单,但是写原生代码可以学到很多东西。比如尝试用原生代码写js来代替jquery.使用纯数组代码java 数组类,写原生代码会迫使你考虑的更多,写更有效的方案。它还会让您领略许多有用的外部库的精华。
32.不要重复造轮子。对于重要的编程,不要重复造轮子。对于特殊编程任务和逻辑,寻找已存在的方案。这些方案已经被使用被测试。比如npm是在线的node库。PyPI托管外部Python库。选择编程库要挑剔一点,有些更好。
33.参与编程会议。编程会议将各个级别的开发人员聚集在一起进行演示、演示和其他学习机会。Grace Hopper Celebration是一个主要由女性参与的技术大会。
Google I/O是另一个开发者大会。还有很多编程会议。有些提供虚拟席位。如果不是,确保你在参加的时候,他们提供了合适的社交距离。
34.参与专业组织,像IEEE和ACM)这样的专业组织提供合作机会、期刊、会议、小组和其他学习机会。这样的组织是收费的,但是学生有折扣。
35.写一本书。对于编程书籍,主题无穷无尽。不论你现在编程水平如何,总有一本书适合你。像Amazon Kindle Direct Publishing这样的组织让出书变的更容易。写书,会迫使你真正的学习相关资料,创造实例,测试你的程序。
36.给机器人编程。有什么让编程进入你的生活更有趣呢。新手和专家可以搞一个机器人来完成编程任务。Sphero BOLT是具有传感器、运动和 LED 显示屏的可编程塑料球体。LEGO MINDSTORMS另一个具有高级技能的编程机器人。
一些机器人在 Minecraft Education edition, Java Robocode, and Python turtle graphics等很有用。编程机器人让编程变得更有趣,因为它们可视化了您的程序输出。
37.访问Code.org. Code.org值得在这份名单上占有一席之地,该网站致力于学习、教学和推广计算机科学。有适合初学者的在线编码活动、编码统计、励志视频等。
38.尝试Alice。Alice是一个计算机科学的3D教学工具。可以让学校电脑科学可视化,趣味化。
39.学习使用git控制代码版本。虽然这和编程没有特别直接的联系,毫无疑问,您将使用 Git 来维护程序的版本。像GitHub, Bitbucket, and GitLab一类的在线git存储库都是很强大的软件协作工具,很多开发者使用GitHub托管代码。更多Git版本控制信息见Git website。
40.拥抱实时沟通。这是另一个不是和编程有直接关系的话题。实时沟通工具在你写代码时,提供及时反馈和答案。Slack是一个非常流行的实时沟通的工具,可以提供持久的文本、语音和视频聊天。这个工具允许你,为不同的主题创造公共的和私有的频道,它可以让您将对话串连起来,以便更有条理。
41.随时随地写代码。你的手机也是一台电脑,为什么不用呢, QPython是一个安卓手机的Python编译器,IOS上有Python2IDE,有了这样的App,你可以直接用你的手机写代码。
42.在没有帮助的条件下写代码。接受编程任务并编写程序,不上网搜索,不通过IDE的帮助。看看你是否可以通过记忆编程。这种类型的编码练习将迫使您牢记重要的概念。这对于现场编码也是很好的练习。
43.重构代码,学习怎么重构代码。即使程序为所有可能的输入产生正确的输出,仍有改进空间。比如,让你的程序更易维护,更易读,复杂度更低。
44.学习其它编程语言。一旦你对基础编程有了一个好的基础,对给定编程语言的深刻理解,你就可以另辟蹊径了。学习其他语言可以提高你对编程语言的总体理解。了解不同的语言如何实现相同的编程概念或提供新功能会很有帮助。例如,Java 编程语言通过解决内存泄漏对 C++ 进行了改进。
45.为艺术而编程。编程不仅仅是为了公司。编程可以创造艺术,通过随机行为、图形和处理,程序可以创建漂亮的输出。这将编程的热情提升到一个全新的水平。Python turtle graphics和 HTML Canvas 图形是用程序创建简单和复杂艺术的两种方法。
46.有一个正确的态度。要谦虚,你不可能知道编码的所有。即使你这样认为,我保证有人比你知道的更多。编程是没有尽头的循环。承认你不不知道,你很快就知道了。
47.利用公共 API。有很多公共的应用接口,你可以用在你的程序里。Twitter, YouTube, 和 Google Maps 有一些你可以再次开发的API。你可以在你的App中利用这些接口来创造骄人的应用。
48.用Soloway's Rainfall problem评估你的编程水平。 Soloway's Rainfall problem
可以为计算机专业学生测试编程技能。如果你能晚上这些编程任务,你就对编程的基础有了一个很好的理解。如果没有,继续学习吧。
49.从控制台输入和输出中学习。即使有有精美的网站和图形用户界面。然而,不要忽略基础程序所提供的教学。接受来自 stdin 的输入并将输出写入 stdout 的程序可能非常强大、复杂且功能齐全。这些程序有很多东西可以学。
50.学习汇编语言,理解计算机架构。当一个程序执行时。它使用了计算机资源。理解计算机内存CPU和其它硬件怎么工作可以帮助你理解计算机是怎么工作的。汇编语言是非常底层的语言。其指令对应机器码指令。在C语言中简单的if-else可能需要复杂的汇编语句。理解汇编语言和计算机原理,有助于理解计算机和程序如何交互。教你写更有效率的代码,让你成为一个更好的程序员。
不管你做什么,保持续练习编程。最重要的是,注意安全,保持社交距离,注意安全。
翻译自 :https://dev.to/realedwintorres/50-ways-you-can-improve-as-a-programmer-7g2