果然还是有那个毛病,晚上睡前看书就会失眠。
回来歇了会开始看Effective Java,还真失眠了。
今天看了几章Effective Java,最大的感悟是,无论做什么事,做行业,什么职位,能时刻站在他人的角度看问题都是一种非常宝贵的能力,做人是如此,写代码也是如此。其实可以把这句话说得更概念更玄乎一点,应该是“能时刻站在不是现在的自己的角度看问题是一种非常宝贵的能力”。
写代码,除了效率等计算机本身的因素以外,其他的评判标准可能都应该归结于能站在他人角度进行程序设计,命名,风格,注释,设计模式,整体架构,接口等等等等都是应该秉承着如果其他人来使用这段代码,能不能迅速理解意图或者发现其中的问题,如果其他人(或者是以后的自己,也是非现在的自己的一种)需要修改或者拓展这段代码,能不能很方便地进行。如果写代码的时候能时刻以别人的角度来评判自己即将要写的代码,那么至少应该就不会写出很糟糕的代码了。
我现在还是个程序员新手,也没有很多结构设计,设计模式等方面的经验,所以经常会卡在某个地方,不知道该怎么做一个好的设计,所以我就不得不运用这个我自认为还靠谱的准则,站在别人的角度来看我的想法,或者站在未来自己的角度来衡量现在的设计,虽然由于能力有限,常常还是不能得到很好的结果,但在这个不断的变换角度的思考过程中,我觉得收获尤其的大,而且目前来说,站在别人的角度来设计程序,还是蛮有效的一个方法,并且会迫使自己去理解其中真正的原因,为什么某个设计模式很好,为什么某种架构很好,这样才能真正理解这些东西,而不是生搬硬套抄一个模子。