背景
Format项目提测后,PQI及测试阶段提了一些BUG,编辑器相关的居多,解决BUG的过程很坎坷,有遇到拍死一只BUG,分裂成了多个的情况。
不可否认,编辑层的逻辑要比渲染层复杂很多,但越是复杂的系统,越需要技术调研与设计,这样才能将复杂的系统简单化;STalk的富文本编辑,感觉是一种堆叠式的代码,缺什么补什么的感觉,当然,自己面对复杂糟糕的代码时,理解及扩展能力也有待提升。
一些见解
糟糕的代码会带来糟糕的开发体验,但这种事情,可能大家都有遇到。因为国内的互联网公司,大多数是缺乏工程师文化的,因为这东西对你升职加薪没有帮助,这意味着绝大多数程序员,缺乏工程意识与代码设计思维。
且注重代码质量,是前人栽树后人乘凉的事情,在跳槽频繁的环境下, 很多程序员可能会有这种想法,你写好代码对自己似乎没有好处,写坏代码,没法维护了大不了换家公司。
在商业公司的App在开发早期,功能能实现就行,几乎不用在乎代码质量,等产品发展壮大后再考虑重构,先污染后治理的工程思维是商业成本最低的开发方式。
但,程序员是不能习惯这种开发方式的,否则你永远只能写难以维护的代码,有一天需要你在原有系统扩展功能时,你将要花费更多的时间实现,或有一天需要你重构设计整个系统时,你将慌得一匹,无从下手。
当然我自己并不是楷模,但至少会有意识,会思考代码应该怎么写会优雅些,系统该怎么设计会灵活些。最基本的,代码可读性得保障吧,逻辑分支得清晰些吧,冗余代码得精简吧,往上再考虑接口/函数编程,抽象继承,设计模式。
而优秀的程序员,在面对复杂糟糕的系统代码时,也能快速实现功能,顺便重构;更优秀的程序员,能快速高效开发写出优雅灵活的代码,真正的工程师都应往这个方向前进。
最后想说,职业习惯是伴随整个职业生涯的,而好的职业习惯,会对正反馈到你的职业,良性循环形成时,职业技能才能逐步提升;反之,坏的职业习惯会形成恶性循环,这类人,我觉得职业生涯不会太长。