每位程序员都希望自己的能力变得更强,那有什么方式,需要作出什么改变来实现呢?接下来,我将分享关于提升编程能力的6条建议。
第一,读权威书籍让你更专业
优先阅读权威书籍,如果你在学C++就看C++权威书籍最新版C++ Primer,因为权威书籍在讲解时更加系统、更加准确。有着多年工作经验的程序员,回头阅读权威书籍时会有种感觉,竟然还有这个特性。有些读者可能会觉得,这些高级特性在实际工作中用不上。所学的知识能否应用到实际工作中是一回事,是否了解这个知识是另外一回事。
第二,动手写代码才能真正掌握
学习的过程中多动手写代码,一段简单的示例代码,看完后自己写一遍,往往会出现编译错误,找到错误的代码改正过来,你就真的掌握了。如果你正在学习算法,把算法的内容记得很熟,但不一定能快速写出代码,即使写出了也需要几次修订才能运行正确。有些读者可能会觉得,我现在用不上,只需简单先了解下有这个东东。这是可以的,但是只能算了解,不能说是掌握。
第三,让导师或水平相当的人审核代码开拓你的视野
写完代码自测运行没问题,说明代码语法逻辑没问题,但不一定是最优秀的代码。如果有导师或水平相当的人愿意评审你的代码对你很有帮助,他们从自己的经验提出一些不同的建议,也许是一些新特性更简单的写法、也许是一些已有的类库、更好的设计。无论建议如何,先接受再判断,更好就接受,不好就坚持自己。
第四,阅读优秀开源项目的代码,吸收别人的精华
临摹字帖是最有效的练习书法的方法,因为字帖是前人留下的精华。同样地,学习优秀开源项目的设计、代码,也是提升编程能力非常有效的方法。优秀开源项目的编码人员,编码经验丰富,他们写的代码一定有许多值得学习的地方,比如:代码规范、逻辑清晰、巧用设计模式。
第五,尝试给优秀开源项目贡献代码让你变得更优秀
给优秀开源项目贡献代码前,首先要学习代码贡献的要求(会涉及一些技术术语、开发规范),这也是一个优秀团队对一位开发人员的要求;然后提交代码,要注明清楚便于对方理解接受,这是对表达能力的要求;如果提交被拒绝的话,对方会给予反馈解释原因,这个过程对你的帮助很大,如果提交被接受的话,成就感满满。
第六,多分享,读者的补充让你的知识更系统化
多沉淀经验,并分享给别人。首先沉淀总结的过程,就是一个思考、更系统学习的过程;然后分享给别人,别人通过评论或其它形式给予反馈,可能是一些错误或补充,都对自己的能力提升很有帮助。本人所著公众号Windows开发,就是沉淀C/C++、Windows开发过程中的一些经验,分享给大家,也从大家的反馈中学到了许多。