《代码整洁之道》半本经典书

真的从来没见过这样的书,前半本书行云流水,我简直就是五颗星的严重推荐,可是过半以后就越看越觉得水,越看越觉得没味道,到最后干脆是几十页的代码,这个带不负责任了。唉,取其精华,去其糟粕吧。不过这些个精华还是相当的精华的:

相信这本书建硕一定非常喜欢,当然我也非常喜欢(当然我说的是前十章),因为我们都是相信代码应该尽量的简单,甚至是把代码行数的少作为代码质量的重要指标,这本书绝对给了我们很好的理论的支持。

虽然我们一直在说写代码,写代码,可是我们的大部分时间是在读代码,读懂以后在那部分放上自己的代码。优秀的代码应该是非常清楚的,方便别人修改,其实很多时候也是方便自己修改(很多时候,我们自己都看不懂自己当时是怎么想的)

书里面的很多原则不是第一次提出,但是作者的视角却是之前很多人没有讨论过的,比如:

1. 命名:命名能力绝对是一个优秀的程序员必备的一个能力,且是一个重要的能力。

2. 注释,我们是不喜欢注释的,注释是最后的选择。

3. 函数:没有参数比一个参数好,一个参数比两个参数好,两个参数比三个参数好,三个参数的话,呃…

总之,一个优秀的程序员对于代码的更改,除了留下功能以外,也要留下一个更加清楚干净的摊子,而不是一个烂摊子。

推迟决策可能是个好决策

在很短的3个月里面做出超过100多项自己没有足够时间搞得非常清楚的,并且决定后很难更改的,且让你真金白银花费进去的决定的集合,这就是装修中人的状态。

装修这个事情和婚礼,买房,买车不一样,他是一系列的决定,并且很少能给你足够时间去判断的(当然婚礼的那一天也都是焦头烂额的),涉及的流程,行业,人物数量等等各方面绝对是百人以上。所以很少人能够做到控制在一定的budget和时间之内完成的,不是说没有,那只是属于少数人。

其实人生的很多时候就像是在装修,工期一旦开始,每天就疲于奔命,习惯于做各种决定,并且似乎是决定得越早就会越好,而且还有各种各样的诱惑,去吸引做很多本来不该做的决定。很多事情看似做了决定,但是真的了解了,真的能那么详细的知道么?有人期望所有的东西都懂,有人则选择抓重点,可是重点抓准了么?

最近有很多事情,喜欢问一句:“会‘死人’么?” 不死就先不做,当从装修的繁杂琐事中跳出来的时候,就会发现,其实有些决定不做也不死人,影响面也没那么大,有些决定还需要更多的时间考虑,有的条件未成熟,有的还没想清楚,推迟一下会更好。

做正确的事情,确保重要的决定是经过了足够的时间和前期酝酿的。

买得便宜不如买得需要

昨天去看了一下宝马3系的试驾会,问了一下价格,320豪华版27.5万,且送一年全险和2年免费保养,如果是318则更加优惠,只要24万,问了一下325,说基本没货。

出来以后我在想这个问题,凡是因为便宜优惠而买的东西,通常不是都会后悔,因为很少能够和真正需要的东西匹配上,而真正需要的东西,其实无论他有多贵,其实都不会让自己后悔的。所以到底我要的车子是怎样的车子?我要解决的问题又是什么问题呢?

我非常同意伟力说的两点,第一是家人的需求,现在买车已经不是5年前一个人开着好玩了,而是一家人的出行工具;第二是生活需要一些变化,变化会带来新的一些感觉。其实我不是一次从无到有的过程,而是体验上的改善。所以现在的需求已经是这些了:

1. 空间,小宝最受诟病的就是这个,庭仔出生后5个人坐了,不是2个人了。
2. 舒适,尤其是长途驾驶的舒适度,这是影响我们去周边使用感觉的东西。
3. 动力,这是我的要求,当年宝来1.8T实在是买不起,可是动力澎湃还是追求。
4. 安全,不是一个人开了,是一堆人了,刹车,安全设备各种东西需要配置上。

再来看宝马3系,虽然他很便宜,但是买它的意义不大,320的动力不满足要求,空间也是不符合要求,并且新款很快推出,到时候看见新的又会郁闷,所以开不了5年有要换车。

这个问题和买房是一样的,如果是1个大学毕业的学生要买房,那么1室会比较方便,至少结婚前,甚至结婚的时候都可以用;而结婚的婚房至少是要两房,因为至少先有个书房,然后生了孩子父母过来也有的住;而如果孩子大了要上学了以后,至少需要一个3房,因为父母可能一块住,孩子一个房间。人的需求在不同阶段是不同的。

并且这个房子到底是用来做什么的?毕业的时候是自主,投资和过度;结婚的时候是婚房和孩子;带了孩子买房要考虑学区生活工作等各种的平衡。

生活总是充满着各种各样的便宜的诱惑,但是还是要有清晰的头脑,想清楚自己到底要的是什么。