这两周一直一心扑在公司里的一个Framework上,基于cakephp,做了一些customization 之后的一个老版FW,拿过来改,老板雄心勃勃,就像油面筋塞肉一样,把什么最新技术都有点跃跃欲试往里面塞的意思,做成新版。
在国内职场混了N年的我对工作没激情,但以前对于新技术的热心仍经常催生我做做奋斗逼,不过一眼被人家识破,被投诉说我要拿公司的项目做自己的练习场,后来这些纯粹自己找抽的做法也控制住了。
对于老板的各种想法不用发言,等别人跳出来做减法,减到大家都可以摸鱼的时候再动手就是。
但我毕竟第一次看这个FW,趁着疫情在家办公先拿着旧版的FW做点小项目,一边熟悉一下,读读别人的sourcecode。
虽然没加班兴趣,但调试程序往往会有个情绪的延迟,比如今天计划的内容做完了,但做完也睡不着,看别的技术内容有时候又情绪转换不过去,提前做第二天的东西又不太愿意,所以睡下去又爬起来码点文字。
室友以前做一个项目,百思不得其解,大把掉头发,从英俊少年变成优秃人才,此经验是我的人生警示,我早提前买好生发剂,每当心理有阴影的时候就喷洒一番,自我安慰。
读读别人写的框架,还是每次有点新的体会,每每发出“拿鹿后逗”的感想,虽然心里还是十动然拒。十几年前就看架构师拿着Java的OODA一层层Wrap,现在看到的还是这样层层包裹,不禁心里有很多怀疑。虽然把MVC封为Bible,但其实也根据实际效率演化出很多不同的变形。比如MVVM,比如CakePHP主旨是采用thin control 层,采用模板引擎把RICH渲染交给前端,尽量把逻辑控制层简化,customize的时候通常把逻辑和计算交放在control 和 数据层之间,多出一两layer出来,后端model 倒没啥花头,也不会太走形。
虽然如此,心里还是感叹,这样是不是反而扼制了cakephp带来的轻量化效率化的优势?
正因为Java的沉重,才有了今天前端的多样化,进而取而代之的趋势,这样好像反而又退化了。
同时也有很多收获,wrap和分层本身要想达到的目的似乎也越看越能够理解了。
睡前想想,十几年的自己,和现在好像已经很不相同。
以前是总想写程序(我们说物づくり,就是想做东西出来),尽管对一门语言的了解不是很彻底,光是看着Doc查查,就特别大胆开始写,工作上的业务程序其实也花头不太大,但往往做完一个项目,却发现自己一直在反复使用几种方法。就像是一个词汇不多的人,却口语蛮溜,用简单的词表达各种意思。
说句题外话,我觉得日本SE的物づくり精神,可能妨碍了他们获得新知识的速度,因为日本的匠人精神追求做事情的完成度。
(再八卦一句,国内有点过于贬低匠心,甚至曲解成做作和模仿,我觉得匠心是和研究成对比关系的,研究是探索新技术,而匠心偏重完成度,美国比较注重研究,而日本比较注重制造。)
后来就心里对写程序有了厌倦,好像不太喜欢这种重复,然后工作上开始往PM走。
现在回过头来写,更喜欢去看别人写的程序,看各种高阶花式实现方法,而如果重复的方法用多了,哪怕程序没写完,也不太想去写了,会厌倦,然后继续去寻找其他新的方法,所以完成度反而不高。
十几年前的自己,好像像个小朋友,而现在去努力拓展知识面之后,也自然而然把实现方法、框架的好坏效率的高低自然而然就有了体会了。以前也会去看写框架的一些理论书,但因为理解力有限感觉蛮空洞的,以后我也许会重看。
我觉得写程序是一个点面结合的过程,天才程序员是什么样的我不知道,但知识面的扩充对于写程序的进阶还是有作用的,是一个积累的过程,而不是凭灵感突现。
这里说的知识面不是看书,知识面应该是读很多sourcecode。
有人会说书里也有很多例子程序,但我觉得看别人做的项目和看断片程序完全不同。
慢慢的,看技术书像看小说,看sourcecode像侦探小说,研究架构像在看人家精心策划的故事脉络。
口角噙香对月吟,这是我追求的境界。
网友评论