读书,先是从厚读到薄,然后是从薄读到厚;写代码也是一样一样的

不停coding,但又及时回顾、提炼,总结出一些规律和方法,再从这些规律和方法出发,指导后续的工作,这是一个「从厚到薄」的过程

针对其中的每个点,可以从容自得地、深入浅出地讲解、分享给其他人,可以解决一些深层次的问题,这个过程就是「从薄到厚」

正所谓「厚积薄发」,「厚积」容易,「薄发」难,最近这半年在支付宝的工作,自我感觉提升非常大,但是提升的内容仅仅只能抽象出一些要点,还做不到由点及面地开展,简单记录下,希望不久将来,可以「薄发」

架构层面

  1. 一个好的框架、架构,不仅仅是提供方便的基础服务帮助大家快速开发,同样重要的是,提供一种开发模式方面的指导和约束;例如: 支付宝技术架构的全面SOA化,让身在其中的开发同学不得不以服务化的方式、思维进行工作,再如Ruby On Rails框架,也是提供了一整个Web开发的套路
  2. 这里推荐一篇好文章: 实施微服务,我们需要哪些基础框架?
  3. 认真设计包结构,包结构是工程的骨架,骨质疏松的工程,一定是难以持久发力的;有了好的包结构,并行开发时分工方便、代码重构升级时迁移方便、解耦性和内聚性从框架层面可以得到支持,好处一大摞

设计层面

  1. 接口就是合同,要像劳动合同的条款一样,一条一条地抠: 字段、行为、语义、返回值,深思熟虑 ,接口一旦发布,就像合同生效,轻易不可变更
  2. 重视接口的错误码(error code),想清楚对于这个接口什么样的行为才是错误(error),常见的一个反模式就是把正常的业务逻辑、流程分支当做错误码返回给调用方
  3. 关键业务、接口,必须考虑性能,做好预案(eg: 限流)

编码层面

  1. 代码如诗文,优质的代码阅读起来一定是清晰流畅的,是「Don’t make me think」的,不须要高深的模式,不须要牛逼的技术,只须要简明易懂,大智若愚;晦涩难懂的代码,难读、难扩展、满地是坑
  2. 注重基本功,要有代码洁癖,想尽办法使代码精简,使用优质的类库(eg: guava / joda-time)提升代码质量

工作方法

作为一名码农必须清晰认识到这世界上从没有一锤子的买卖、从没有一次性的代码,基于这个大前提:

  1. 绝不要copy代码,copy越多坑越多,今日抄得爽,明日改得哭,现世报
  2. 绝不要硬编码,拒绝魔法数,今日偷懒,明日采坑,现世报
  3. 绝不要GuiTian业务方,绝不要直白地把需求一是一、二是二地赶出来,要动脑筋做归纳做抽象,要想办法沉淀代码、模块,今日无脑赶工,明日只能继续造轮子,现世报
  4. 代码要内聚、要解耦、要分层、要权责明确,今日写大饼式的一坨代码,明日就要为如何扩展而烦恼,现世报
  5. 设计表结构要具备一定的通用性、扩展性,为未来留下想象空间
  6. 会说「NO」会说「NO」会说「NO」重要的事情说三遍

以上,就是我近半年作为一名代码工作者的一些小结,「软件工程」是工程,只要掌握方法和规律,一定可以可控、优质地交付产出


看到好友 @大力 一直笔耕不辍,很惭愧,以后要多写写才行

2 thoughts on “牢记规律写出好码,近半年支付宝工作心得”

发表评论

电子邮件地址不会被公开。 必填项已用*标注