提高编程技巧的十大方法
提高编程技巧的十大方法
1. 学习一门新的编程语言(Learn a new programming language)
学习一门新的编程语言有助于开拓思维方式。特别是当你接触不熟悉范式的语言时,能够学习到多种全新的思维模式,并将这些思路迁移到你熟知的语言中。在某些情况下,你甚至可以直接使用新学的语言来进行重要项目的开发。
推荐尝试以下具有代表性的语言及其编程范式:
- Lisp (Scheme 是个不错的选择)
- Forth
- PostScript 或 Factor (栈式编程语言)
- J (数组编程语言)
- Haskell (强类型 纯 函数式编程语言)
- Prolog (逻辑编程)
- Erlang (并发编程)
2. 阅读优质且具有挑战性的编程书籍(Read a good, challenging programming book)
虽然实践至关重要,但阅读优秀的编程书籍是改变思维方式的重要一步。通过书籍,你可以系统性地学习理论知识。
推荐挑战以下经典著作:
- The Art of Computer Programming
- Structure and Interpretation of Computer Programs (SICP)
- A Discipline of Programming
- 著名的“龙书”(Compilers: Principles, Techniques, and Tools)
当然,你也可以选择难度适中的书籍,但应避免那些宣称"24 小时”或"21 天”就能教会一切的“傻瓜式”书籍,这类书籍通常无法提供提升编程技巧所需的深度内容。
3. 加入一个开源项目(Join an open source project)
加入开源项目有何优势?你可以与他人协作(区别于在私人项目中独自工作)。当遇到不熟悉的代码时,你将被迫去研究并理解现有的代码库,这是一个极具挑战性的学习过程。
4. 解决编程难题(Solve programming puzzles)
你应当尝试解决编程难题。例如 Project Euler 中的数学问题,这是代码难题类网站中较为流行的一个。
尝试去解决具体的代码问题:程序员在编程过程中总是尝试用最少的步骤来解决遇到的难题。在这个过程中,你可以学到语言更深奥和更特殊的特性,从而不得不思考代码的创造性实现。
5. 动手编程(Program)
在编程开始之时,制定一个计划,拟定设计框架并实现它,然后重复该操作。通过编写代码是学习代码的最好方式。
你将在错误中不断学习、提升自己。相比于仅通过看书来完成项目,动手实践更能带来激励性与乐趣。
6. 阅读与研究代码(Read and study code)
学习著名的软件源码,例如 Linux Kernel。另一个适合教育的操作系统是 MINIX3。从中你可以学到很多新的语言用法,并对软件架构略知一二。虽然阅读不熟悉的代码比较困难,但你会受益良多。
通过阅读源码,可以使你了解更多的 API 设计,或者深入理解一门编程语言的实现细节。
7. 浏览编程网站与阅读博客(Hang out at programming sites and read blogs)
阅读不同的编程网站(如论坛和 StackOverflow)将有助于你从其他程序员那里获取知识。
同时,你应该阅读大量的技术博客。软件行业中写得较好的博客包括 Joel on Software(尽管作者已不再更新,但很多有价值的文章依然存档)、Coding Horror 以及 Lambda the Ultimate。
当然,news.ycombinator.com 也是不错的选择。
8. 撰写技术文章(Write about coding)
在博客上练习书写技术文章。你也可以在不同的问答网站上回答问题,或者编写一些教程(例如 DreamInCode)。
当你编写关于代码的内容时,你会想着要正确编写,以便能够解释其中的问题和技术细节。撰写技术文章还能够体现你的编程知识,同时提升你的英语语法能力,这些在编程领域中都是很重要的技能。
9. 学习底层编程(Learn low-level programming)
学习底层编程语言,它们能够帮助你理解计算机基层架构。例如 C 语言,或是汇编语言。
学习计算机是如何执行程序,知道操作系统是如何运作的,这是程序员最基本的要求。如果你想好好了解底层语言,可以阅读有关计算机结构、操作系统、嵌入式系统、驱动程序开发等方面的书籍。
10. 独立思考,慎用 StackOverflow(Don't rush to StackOverflow. Think!)
代码出错时,你可能会急于用最少的时间去解决它。你会怎么做呢?直接上 StackOverflow 网站吗?别这样做。
要认真思考问题,拿出纸和笔,认真想出解决方案。放松大脑、保持头脑清晰,然后再重新看代码。如果一小时后还没解决问题,再尝试 StackOverflow。但要记得,首先要自己思考解决问题。
原文来源: 10 ways to improve your programming skills
说明: 本文部分内容(如特定博客更新状态、推荐网站等)基于原文发布时的环境,可能具有时效性。建议读者结合当前最新的技术生态与实践方式进行参考。
版权声明:本文为原创文章,版权归 戴老师的博客 所有,转载请联系博主获得授权。
本文地址:https://1diff.fun/archives/ti-gao-bian-cheng-ji-qiao-de-shi-da-fang-fa.html
如果对本文有什么问题或疑问都可以在评论区留言,我看到后会尽量解答。