前言
知乎上有一个提问:那些编程水平很高的程序员是怎么训练出来的?
↓↓↓
今天,我们就这个话题一起来做个讨论。
看到这个问题,第一意识还是觉得,这个问题问的有点大与抽象。
到底什么才算编程水平很高?用什么标准来衡量这个高度呢?
相信,这个问题的答案,不同的人会有不同的见解与思考吧。
那接下来,我结合自己超过8年在一二线互联网公司编程的经验,及身边那些我认为比较强的编程高手的所见所闻,与大家分享一下,我眼中的所谓编程高手是怎么训练而成的观点,希望大家喜欢。
我的回答
在我看来,真正的编程高手体现在如下10个方面:
基础知识牢固:
我自始至终都认为,具备扎实的基本功,是成为编程高手的充分、必要条件。
对计算机基础(比如计算机网络、操作系统等基础知识)、相关编程语言的语法、分布式理论、编程范式、设计模式、开源框架原理、数据结构等知识都有较深的理解与掌握。
只有最底层的知识掌握好了,才有构建好上层建筑的可能(比如具备快速分析、解决问题的能力;做好高性能、可扩展的高可用架构;及写出高质量且不易出错的代码等)
解决实际问题:
通过实际项目和问题的解决来提高编程能力。
这可以是解决诸多企业级线上生产事故bug;也可以是解决自己在学习过程中遇到的难题;或深度参与开源项目,修复别人提交的issue相关代码;或者参与一些学校或社会的编程竞赛等。
阅读源代码:
阅读开源著名项目的源代码是提高编程水平的有效方式。(比如Spring这种优秀开源框架)通过了解他人的优秀代码,学会写出更优雅、高效的代码。
深入学习数据结构和算法:
数据结构和算法是编程的核心。深入理解各种数据结构和算法,并学会在不同情境下选择合适的算法。
实践设计模式:
学习和实践常见的设计模式,这有助于编写可维护、可扩展的代码。(业务巨复杂项目,就有讲究了)
代码审查和反馈:
参与团队中的代码审查,接受他人的批评和建议。通过不断改进代码,提高编程水平。
写博客和分享经验:
将自己的学习经验、解决问题的思路以及技术见解分享出来,这不仅有助于加深理解,还能帮助他人。
参与开源社区:
在开源社区中积极参与,贡献代码、提出问题、解答问题。这有助于建立专业联系、获取反馈,并提高编程水平。
构建个人项目:
通过构建个人项目,实际应用所学知识。这不仅锻炼了实际编码能力,还可以展示自己的项目经验。可以将项目最终开源出去,听取并吸收别人的意见和建议,你能学到的更多。
持续探索和挑战自己:
编程高手通常对技术有强烈的好奇心,持续不断地学习新东西,挑战自己的极限。
OK,接下来,分享一则我们可爱的知友,关于这个问题的精彩答复,灰常精彩,一定看到最后哦!
知友作答
写到最后
感谢您一路陪伴着我,探索编程的奇妙世界。如果您对程序员日常趣事、编程技巧和技术干货等充满兴趣,那么不要错过未来我为大家奉上的精彩内容!点击关注,让您的程序员之旅更加丰富多彩,我们一同成长,一同前行!