如何写出更高质量的代码?当你开始问自己这样的问题时,已经走在很多人前面了。

很多程序员,特别是移动开发程序员,由于技术本身门槛不高,业务发展迅速,再加上之前一波互联网浪潮对移动开发人才的热烈追捧,使得大家觉得,只要能完成任务,就是万事大吉了。还有一些人,也会去学习各种各样的新技术,比如 RxJava,比如插件化,比如 Kotlin,他们以为自己已经跟上了时代的潮流,即使有时候只是了解了一些皮毛的概念。可是,有些东西,那些水面以下的冰山,永远是技术的基石。无论时代的发展,技术的更新换代,不变的,只是那水面以下的东西。

Amazon 在20年前,创立之初的广告语是”One million titles, consistently low prices.“(百万图书,持续低价),其核心的目标就是丰富的商品,低廉的价格,到现在,仍然如此。当有记者问 Jeff 未来10年会发生什么变化,Jeff 回答:”这个问题问得不错。但是,我们有个更好的问题:在未来10到20年内,什么不会发生变化?“。抓住不变的东西,将精力投入到那些不变的东西上,你会发现自己永远都在历史的潮头。

对于软件开发,什么是不变的东西?

软件工程(团队协作),程序设计,代码质量。

今天,我们就来说说最最基础的”代码质量“,然而代码质量实际上也是个非常广博的内容,一个月前,我就已经在考虑给团队做一个关于代码质量的分享了,但当我把涉及的内与 Lead 聊过以后,发现内容太广、太细,很难吸收。思前想后,我想我们可以抓住一个关键点 —— 职责分离。

于是我在上周给团队就做了这么一个技术分享:”上帝的归上帝,凯撒的归凯撒 - 谈谈职责分离“。

职责分离这么一件看似简单的事情,其实蕴含了非常多的内容。它指导你写出逻辑清晰的代码、健壮的代码,甚至性能优越的代码。下面是我贴出一些关键内容。

想查看完整内容,可以看看这里: http://slide.tankery.me/separation-of-duty