文档章节

程序员的进步从每一天少写一点代码开始

机智的序员
 机智的序员
发布于 2017/03/31 17:21
字数 870
阅读 2
收藏 0

网络的帮助可以让你写出一行又一行的代码。不过,若你只是复制贴上,事后并没有尝试了解背后的运作机制,充其量代表了「工作完成」。

那有什么办法可以让自己进步呢?也许你可以从少写一点代码开始。并不是要你不工作,而是想办法精简自己的代码。在某些方面,coding 跟写作有些类似,并不是多就是好。

我没有时间写一封简短的信,所以我写了一封长的。———马克吐温

简短的文字与代码相同,都需要耗费更多的脑力才能完成,并可以成功的运作。

简单、经验与理解让你写得越来越少

一位工程师  分享了他自己的看法,他认为要分辨两个工程师的好坏,就是给他们一样的时间,越好的工程师写出来的代码越少(当然是要可以运作)。

除此之外,正如先前所说的,越长的代码并不代表越认真,有时候反而是因为懒惰,懒得思考,你才会写出这么长的代码。

而好的工程师因为从问题下手,对问题理解的非常透彻,能够写出简洁易懂、容易维护的代码;而懒于思考,或者是较差的工程师,也许在键盘上敲下来一串又一串的代码,却难以理解,并为后来的维护人员埋下了许多可怕的地雷。

而要如何进步呢?则可以从三个方面下手:

第一是多思考,不要以又臭又长的代码滥竽充数;

第二则是经验,经验越多,你越知道该怎么下手;

最后,则是理解,透过对问题与所使用的语言、框架越加理解,越能写的简单易懂。简而言之,用一句话来说:多练习写简短的代码。

把时间花在审视与思考

在这边要举另外一个例子,一个高级工程师他提到任何创造性的尝试都可以从不断地审视和完善中受益。

阅读已经写好的邮件、论文、blog 或报告等等,然后觉得某些部分可以做得更好呢?这是一件很自然的事情。当回头审视这些东西,每次都可以获得新的认知。

我喜欢将代码当作表现「当前」看法的地方。我们都会犯一些回过头来看时可以纠正的错误,除了纠正这些错误外,我们还可以记录我们更深入的理解。

定期阅读所有的代码,而且不只是你自己的代码。阅读他人的代码是一种很棒的学习方式。正如一位作家所说,「阅读其他人的作品是让你成为一个更好的作家的最好方式」这同样适用于代码。

这时候就要拿万用的标语来做结尾:Keep it simple and stupid。代码真的非常深奥,不管任何语言都有它神秘之处。不过简短的代码不一定好,则是下一阶段要考虑的事情了。建议大家,想要好好进步的话,不如从今天开始,多思考,少写一点代码吧。

© 著作权归作者所有

机智的序员
粉丝 3
博文 69
码字总数 127201
作品 0
广州
私信 提问
程序员进步指南:从每一天少写一点 code 开始

Google 与网络的帮助可以让你写出一行又一行的代码。不过,若你只是复制贴上,事后并没有尝试了解背后的运作机制,充其量代表了「工作完成」。 那有什么办法可以让自己进步呢?也许你可以从少...

花仲马
2016/08/20
3.4K
9
04 从中兴研发主管坠楼来看,什么是程序员的不能承受之重?

今天出来一个新闻,中心程序员醉楼,这个事情一出来,就看到各个技术群在讨论。同时又扯到华为以前的32岁程序员裁员的事情,持续了好几天。看到报道,心里很不舒服。一个老实人,一个家庭就这...

虚幻私塾
2017/12/16
0
0
为什么阿里程序猿纷纷在内网晒代码?

大家知道,阿里有两万多名可爱的程序员。 他们也没什么别的爱好,就是多才多艺了一点:这帮阿里程序猿在改变世界前 要先撼动歌坛 就是热心肠了一点:阿里有个程序员,因为闯红灯上新闻了 虽然...

阿里云云栖社区
2018/04/26
0
0
程序员与项目经理

有人加我为好友后,经常问到的一句就是:你写程序这么长时间了,一定是项目经理了吧?郁闷呀!为什么就要是项目经理呢?在我看来程序员和项目经理完全是两个不同的发展方向。   程序员是和...

Sephiroth
2010/02/26
2.7K
16
程序员:感觉技术停滞时,该怎么办?

在旧文《技术方向的选择》的末尾,我写道:“停留在原地纠结,什么也不会改变。”。当做出了选择就该出发了。为了习得一门技术或技能,我们需要不断地练习,但如果一直在练习,却感觉不到进步...

达尔文
2017/06/26
4.8K
17

没有更多内容

加载失败,请刷新页面

加载更多

SIPC的保全存证变现应用才是先见之明

Facebook发起的Libra在接连退群后终于在联盟链上线前官宣成立联盟,同时Telegram公链TON在主网上线前被美国SEC要求退回私募非法所得。两个都拥有活跃用户数上亿的社交平台,一个以1000万美元...

SimpleChain
24分钟前
3
0
Node_初步了解(3)回调,作用域,上下文

本文转载于:专业的前端网站➧Node_初步了解(3)回调,作用域,上下文 1. 1 //回调:回调是异步编程最基本的方法,node.js需要按顺序执行异步逻辑的时候,一般采用后续传递的方式,将后续逻辑...

前端老手
24分钟前
3
0
好程序员Java教程分享Java的五大特点

好程序员Java教程为大家分享Java的五大特点希望对初学者有所帮助。 一、Java的(五大)特点: 1.简单性 相对于c语言来说 c语言的核心 指针(保存地址)*p Java中没有指针的概念(使用的是引用概念...

好程序员官网
26分钟前
2
0
移动端rem适配各种屏幕字体

在页面中引入这个js文件,可以实现各个屏幕的字体自适应: (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : ......

流年那么伤
28分钟前
3
0
2019我最喜爱的绿色应用活动投票开始,谁能突出重围?

在去年第一届软件绿色联盟开发者大会上,共有36个绿色应用荣获“2018年度我最喜爱的绿色应用”奖项。活动得到了消费者、开发者与应用厂商的一致好评,刚过完十一假期就有小伙伴们后台留言,问...

软件绿色联盟
38分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部