微信号:jisuanke

介绍:计蒜客——新型在线计算教育的倡导者.用独有的伴随式的技术带着同学们亲身参与到计算机学科知识的学习中.让每一个参与学习的同学能感受到更有味的学习过程!

你需要每天写代码吗?

2018-04-02 23:01 计蒜客

就像运动员每天锻炼一样,每天练习写代码可以成就更优秀的你。


我的博客基本上每篇都有提到,“你需要每天写代码”。什么主题不重要,关键是要养成每天写代码的好习惯。写得越多,代码就会变得越容易,你也会越擅长编码。


这不仅适用于写代码,写诗和运动,事实上,这句话可应用于任何行业。骑自行车,打篮球,读书,烹饪等等等等。你做的越多,你就会越擅长,熟能生巧就是这个道理。


这也是编程领域的真理。如果你想擅长编程,那么你就必须每天写代码。代码写得越多,你才会觉得它越容易,并且越擅长于编程。就像我在本文中列出的其他任务一样,每天写代码,即使你已经习以为常,却依然很难保持住这个习惯。


“我应该写什么?”这个问题的答案是因人而异的,但这却是你用自己的方式每天写代码所必须先克服的障碍。通常人们编写代码是用来解决问题的,但不是每个人都有问题需要解决。这就像著名的鸡和蛋的问题。那么,你应该从哪里开始呢?


我比较喜欢重写已经存在的东西。有时候,费劲心思想出一个新的不一样的点子是很困难的,甚至是针对现有思想想出一种新的方法路径也不容易。然而,现有可复制的项目很多很多。我的想法是尝试复制项目的总体目标,但用的是我自己的方式。这可能意味着使用不同的语言,或改变它的 API,又或者只是采取一些古怪的新方法来解决同样的问题。


这样疯狂的练习写代码让我变得更善于发现问题。例如,大概几周前,我决定用 go 写一个 Web 服务器(类似于 nginx/apache)。我想要一个又合适又易于使用的配置文件来定义设置。所以,我做了在现在大多数人都会做的选择,我使用了 json,但感觉并不合适。然后尝试了 yaml,但依然不是我想要的。我可能也试过使用ini格式以及为键和值制定自定义规则,但无济于事。于是为了解决这个问题,衍生出了一个新的项目——一个 go 的手动编码配置文件语法和解析器演变成为一个整洁的混合了 json 和 nginx 的配置文件语法。


不论怎么说,这样一来我就有了一个可用的项目。虽然是通过复制已经存在的东西,其实并没有真正尝试新的内容,但我从这个过程中得到的那个衍生而来的项目,至少能让我一个星期都有理由每天去写代码。这么做不仅能能让我真的写出一些有用的东西——可用于以后我的任何项目,而且也让我也学到了一些我之前并不知道的东西。比如说我学会了如何用 go 手动编码一个语法分析器。


最后,“每天编码”这个挑战不是为了每天写一些有用的东西,而是为了每天学习新的东西。学习新的语言,学习新的框架,学习拆开和组合。每天写代码,每天学一点新的东西。随着时间的积累,你不但能学到很多,你也会变得更为优秀。


加油,和我一起快乐编码吧。


摘自码农网,译者小峰

英文原文:Write code every day

 
计蒜客 更多文章 未来我们该学什么语言? 高效程序员的 7 个共同特征 作为一个计算机初学者该如何成长? 每个程序员都应该知道的基础数论 NOIP 入门班 | 春季直播 2 班即将开课!
猜您喜欢 iOS10 CAAnimationDelegate 的简单适配 6 Myths and The Facts about DevOps 达内教育集团受邀出席第十四届中国国际软交会 TLS协议分析 (二) 架构总览 厚土Go学习笔记 | 01. Hello World开篇