本文介绍如何更加轻松的编写代码。
为什么有的代码写起来让人头昏脑胀呢?就是因为逻辑太复杂。逻辑的复杂无非体现在两个方面,要么是步骤太长,要么是条件分支(也就是需要考虑的“
例外情况
”)太多。
人们处理复杂的事情,向来有一套方法,叫分而治之,它完全可以用在开发上。
使用分而治之的方式编写代码,好处就是关注点减少了。把一个长的步骤分成若干个短小的步骤,那么你每次只需要关注其中的一步就可以了;把一系列复杂的判断交给不同的对象去打理,那么你的思维又可以回到主流程上来。关注点减少的结果,一方面降低了出错的可能,另一方面不会令人绞尽脑汁弄得身心疲惫。
如何对复杂的逻辑分而治之呢?就本人的开发经验,我觉得有两点很重要:
1、关注顶层逻辑
任何方法都只应该体现其顶层逻辑。比如用户登录的顶层逻辑,只有三个步骤:1)检查参数格式;2)处理逻辑;3)返回结果。
public boolean login(String username, String password) {
if (!checkParameters(username, password) {
return false;
}
boolean result = checkUserPassword(username, password);
return result;
}
这是顶层逻辑,将这三句话写好之后,我们再分别去实现每个步骤,而每个步骤当中又只包含顶层逻辑。这样做有效的减少了关注点,让代码写起来更加轻松。
2、职责分明我们生活在一个分工精细的社会,任何事情都能(至少在名义上)找到相应的人对其负责。业务逻辑也是一样,字符串的处理、XML的解析、连接的打开关闭、日期时间的校验,这些逻辑都应该交给相应的类去处理,不要一窝蜂的都写在一个方法里面,这样写出来的东西是一团乱麻,写了一半可能你自己都不知道写到哪了。
我觉得只要做到上面这两点,面对任何复杂的逻辑都可以轻松对付,而且不易出错——你可以想象当别人埋头苦干的时候,你却在一边轻松的听歌喝咖啡了~~