最近在阅读《刻意练习》,怎样运用刻意练习提高自己的编程水平有点想法:
刻意练习的重点在于刻意,刻意的针对自己薄弱的环节,不断的重复练习,从而提高自己,而不是无意思的重复自己已经熟悉的方面练习。
刻意练习的另一个方面及时的反馈。及时反馈是为了能让练习者尽快的知道自己做的对还是不对。从而知道自己在应该在哪个方面做刻意的练习。
对于程序员来说,代码是否能正确的运行,是否能到达需要的效率。这样的及时反馈很容易,只需要执行一下代码,测试一下就知道结果了。
而对于命名,代码结构,实现逻辑上是否合理,这样对代码质量的反馈有点难度。
那么,程序员在工作中如何解决这样的问题?
一是回看自己的代码
在编写代码的时候,程序员为了快速实现功能,往往着忽略了代码质量怎么样。所以在命名,代码结构,实现逻辑上,使用的都是潜意识中已有的经验。
而回看,就是重新把注意力放回在命名,代码结构,实现逻辑上,有意识的思考自己实现的代码是否合理,从而提高自己的编程水平。
这是通过自己对自己的反馈,而进行的一种刻意的练习。
二是让其他人看自己的代码
比自己水平高的人看自己的代码,可以指出自己不足的地方,帮助自己提高编码质量。
比自己水平低的人看自己的代码,如果看不懂,说明自己命名不合适,实现过于复杂,或者注释的不够。帮助自己反思自己的编码质量。
这是通过别人对自己的反馈,而进行的一种刻意的练习。
三是看别人的代码
看别人的代码,可以看看团队中水平比较高的队员的代码。也可以去githup上去看一些有名的项目的源码。
看之前先思考一下,如果是你自己实现的话,你会怎么实现,然后在看源码,看看哪些地方与自己想的不一样,是你自己的实现方式好,还是源码的好,好在哪里。
这样才能吸收别人在编码中的长处,看到自己的短处,然后把别人的长处化为己有,才能提高自己的编码质量。
但是以上三点都需要花费额外的时间。而程序员的工作一般都很忙,经常不是正在加班,就是在准备加班。
尽管一些公司有代码审核机制,但绝大多数的公司是没有的。所以很多程序员没有时间提高自己的编码质量。这才有了一些人尽管有十年的工龄,但只是把一年经验使用了十年。
但是站在自己的角度看,提升自己的实力才是最重要的。所以无论如何每天抽出一点时间提高自己的编码质量。
站在公司的角度看,把一个花5000元招来的程序员,提高到7000元的水平。公司不就赚了吗?
编程水平的提升有没有尽头?这就像问谁的文章写的最好?编程跟写文章一样,没有写的最好,只有写的更好。不论到什么时候,编程水平都有提升的可能。
领取专属 10元无门槛券
私享最新 技术干货