最近做 N 项目,被厂长批评好几次效率低,终于忍不住在周会上怼了厂长。记录一下,将来说不定还会怼,或被怼。
1. 我不会 Perl,Perl 也比我想象的难学
我会三门语言:JavaScript、ActionScript、PHP。我学它们的时候并没有投入太多时间,所以我这次也是用差不多的态度对待 Perl,结果完全不一样。Perl 是一种非常灵活的语言,我觉得它有些过于灵活。它里面很多 $.
,$_
这样的东西,用起来很爽,不懂的时候看起来就火葬场了。
所以我花了比想象中更多的时间去学习 Perl。这一点算我的问题,我对此没有异议。
2. N 项目交给我时架构很初级
也许和厂长想的不同,在我看来,N 项目交给我们时,就是一个原型,架构非常简单非常难看,我最多给它打30分——厂长可能觉得有60分吧。所以本来就不会 Perl 的我面对这样一个极差的架构就更头痛了。它的架构差表现在:
- N 项目是典型的面条形代码,从头到尾一个逻辑写完,4k行
- 由 Perl 和 JS 两种语言混编构成,缩进完全混乱,变量乱插
- 任何一个功能,都要在 4K 代码中找到若干处修改,没有指导文档,没有设计模式
所以开发它会遭遇很多计划之外的问题。
3. Code Style
在混乱的架构下,厂长对 Code Style 的要求也非常严苛,他会一一挑出来少空行的地方少空格的地方要求修改。
这对我来说本不成问题,我当然同意我们应该遵守同样的语法规范,但是,我接手时的 Code Style 就已经混乱不堪。作为一名老程序员,我第一件事就是学习他的规范,每当我遇到换行、空格犹豫不决的时候,就会去找类似的代码,然后照着他的代码写。结果提交后被多次指责没有遵守规范。这叫好比,生活委员来查寝,然后指责你们寝室脏乱差,要扣精神文明分,继而影响评优,然后你去他寝室一看一样脏乱差的一比。
另外,无论再小心,笔误也是难免的。所以 Code Style 这种东西理应交给 Lint 工具来做,这样,交付给新人的代码,新人完成的代码,都能保证遵守规范。而不是像现在一样,每天早上起床看 review comments,一堆换行空格的问题,满满的负能量。
其实还有对前端的认识问题,下次再怼吧。
欢迎吐槽,共同进步