code

习惯性 Hard 模式 code

不知道从什么时候开始,做什么事情我都习惯性的开启 Hard 模式,但事实上,我是一个级怕麻烦的人啊。

玩实况足球 (PES 2016) 的时候,虽然我已经有5年没有玩这个游戏了,打开游戏的第一件事就是到设置里面去将难度调到最高(顶级球星),我只使用每年都只能获得联赛第四,欧冠16强出局的那个队。在和电脑对战中,我只要将阵型保持紧凑,不要无谓的失误,即使在刚开始玩的时候,也不大会输球。然而,我却喜欢胡乱的高位逼抢,即使对方已经将球传到中圈时也仍然让所有的人压迫防守。聪明的球队经常用简单的直传打穿我的中场线。而且即使开局连丢几球,我也仍然疯狂的高压式的防守,因为头脑中的 Hard 模式已经开启,完成一场逆转更让我兴奋,最后的结果是两队变成了一种完全开放式的进攻,节奏异常快,运气好时,我可以完成逆转,但是大多数时候在这样的比赛中我都不会赢。

明明有一条更简单轻松的路放在你的面前,而你却选择另一条充满风险的小路,这就是 Hard 模式,在很多时候,这已经成为一种习惯了。

而且写程序的时候几乎是全程 Hard 模式。

我每次开启一个新的项目都会格外的兴奋,因为每个新的项目我都会去挑战新的难度。如果让我去复制一个已经做过的项目,我会毫无热情,以前的代码连看一眼的兴趣都没有。我们都知道,代码是可以重复使用的,这是因为代码都是抽象的,而抽象的东西都具有普遍性。一个经验丰富的程序员写了很多代码,犯过很多错误,这些都是宝贵的财富。在我每个新的项目中,我都避免去使用自己在前面的项目中已经熟练使用的技术,刻意的去使用并没有太多经验的技术。比如刚开始的项目中我会尝试所有的界面中必须用 Storyboard 来设计;后面一个项目中,我强迫自己只能使用系统框架中自带的两个丑陋的 Autolayout 布局 Api;到第三个项目中我会使用 Cartography 来实现所有界面布局代码;到了最近的项目我又将他们改成全部用 SnapKit。其实他们都是完成同样的工作。不管使用哪种技术来写页面,在实践过程中都充满了各种坑要踩,而我却莫名的开启了 Hard 模式,乐此不疲,一定要走一条和之前完全不同的路。

Hard 模式的偏爱让我在完成每个项目中都遇到了不小的挑战,每次都从头开始,每次都掉入新的坑里,每次都花费比预想更多的时间。就如开头所说的,我其实是一个级怕麻烦的人,但是在编码的过程中却一次又一次的给自己找麻烦。要说原因的话,也许是因为我还喜欢写代码。因为热情还在,我依旧会去尝试使用新的技术,我依旧还会去看各种书,或者把他们看很多遍,因为热情还在,我明明能够去 github 上找一堆现成的代码,但是还是要多花几个小时去写自己的轮子。

作为这样的程序员理所当然的会很累,因为干的活比预想的多的多,但是这不是我开始反思自己进入 Hard 模式怪圈的主要原因。每当一个项目结束,我都是精疲力尽,再也提不起兴趣去总结这个项目中所得到的经验了。更不用说,其实在每一个项目中,都有因为时间无法满足而留下的丑陋的代码,他们原本应该被更好的设计。虽然我在每个项目中都将某一个技术钻研的很透彻,毕竟当你在一个完整的项目中使用一项技术时,遇到的困难永远都是比单单在网上看看别人写的教程多的多的。总感觉还差那么一点,明明原来我可以做的比现在更好的,因为有遗憾,所以更不想去看那些不够好的代码。

回头再看看自己写代码的十几年,我应该已经学习了足够多的技术,既然选择用 Hard 模式的方式干活,我想是时候开始另一种策略了。不再追求更新的技术,而是尝试更加深入的研究已经学会的东西,强迫自己更加精益的设计结构,多写点让自己看的顺眼的代码吧。

等等,这是不是更加 Hard 了?

分享到: