首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

提高你的编程能力万无一失的办法!“读”与“写”的奥秘!

那就是去读别人写的代码。读那些你常用的库、编程框架的源代码,读那些你景仰的大牛的源代码,读代码里的测试(测试本身就是一种有效的文档);读代码、改代码、运行代码。

其实,所谓写程序,大部分的时间都是花在读代码上,“写”的部分耗时极少;所以把“读”的技能训练好了,是很有好处的。

提高编程能力万无一失的办法

每个人都知道,提高编程能力的显著方法是写更多代码。然而,我保证能够提高编程能力的另一种方法却不是写代码。我会尽我所能说明这一点:

如果你想大幅提高自己的编程能力,你需要阅读别人的代码。

不管你以前是不是这样想的,现在你应该接受这个观点。如果你愿意尝试一下,那么你将会收获颇丰。

在这篇文章中,我会帮助你选择阅读哪些代码并且给出如何阅读代码的实用建议。如果你已经是一个代码阅读者,你可能已经找到了一些有效的方法,否则,我觉得你应该开始阅读代码。

阅读哪些代码

这是一个重大的决定,也是一个很难提出建议的决定。由于阅读什么代码归根结底与你的工作有关,所以我不会简单的指出我认为你应该读的具体代码。然而,我将会提供给你一些阅读代码的参考。

阅读你依赖的代码

阅读使用的插件或库是一个很好的开始。

一个你真正喜欢的 WordPress 插件

一个你发现有用的 Ruby gem

一个你一直使用的 jQuery 插件

这些都是很好的选择。你已经很熟悉它们的公共 API,这样会降低对内部工作机制的理解障碍。此外,作为代码的使用者,你有机会添加文档、实现新功能或以某种方式为项目贡献代码。

阅读令你印象深刻的代码

我记得第一次看到 280 Slides 的情景,当时我告诉自己“这真的令人印象深刻”。我很快了解到它是一个由开源 Cappuccino 项目框架开发的网站,我将它牢记于心,当我再次遇到一个令人印象深刻的 app 也使用 Cappuccino 框架时,我知道我可以从这个项目中学到很多。最近令你印象深刻的是什么?它是开源代码吗?如果是,那么它将是一个很好的选择,因为代码可能会与应用一样令你印象深刻。

阅读你崇拜的人写的代码

如果你已经使用开源软件写了一段时间代码,你可能会有一些崇拜的程序员。

如果你没有一个崇拜的开发者,你也可以很容易地找到一个。她/他很可能写了前面两段提到的代码(你依赖的代码、令你印象深刻的代码)。

阅读你可以理解的代码

如果你喜欢冒险,你可能会考虑深入理解一个大型项目,如 Ruby on Rails、Drupal、或者 jQuery。我建议你目前避开这样的项目,除非你是一个有经验的代码阅读者。

大项目包括更多模块,你可能挣扎于纷杂的概念,而没有学到有价值的内容。困惑会使人沮丧,项目越大,越容易产生困惑,从而影响你的阅读。阅读小项目的好处就是你可以很快的了解整个程序的逻辑,这样你就更容易集中精力发现和学习其中的细节。

记录你的发现

阅读代码不应该是个被动行为。我鼓励你添加注释,当开始了解程序流程时记录你的假设和结论。当你第一次开始写评论时看起来是这样的:

# I think this function is called after 'initialize'

# 我认为这个函数在“初始化”之后调用

# What does this equation even do?

# 这个公式是做什么用的?

# Pretty sure this variable loses scope after line 17

# 非常确定这个变量在 17 行后失去作用域

随着你的深入理解,你可以删除自己的用户评论,写出可以反馈给项目的更有意义、更权威的评论。

冲洗和重复

当你读完一个代码库,选择另外一个代码库重新开始这个过程。你读的代码越多、读的越好,完成的时间就越短。我想你会发现投资回报率在飞快的增长,这实际上是一种非常愉快的学习方式。

最后祝你在未来的时间里能够使自己变得更加强大,充实自己是你现在的主要目标,以后也是一样!

如果你想跟着小编一起学编程的话!

可以来我的编程公众号【草莓味狸猫】

还有(源码,零基础教程,项目实战教学视频),欢迎初学者和正在进阶中的小伙伴们!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200531A0CME600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券