道生一,一生二,二生三,三生万物。
从零到一是从无到有,意味着创造与创新。
从一到二,意味着变化,意味着选择,意味着更多的可能性,意味着管理的需求
当你有一件衣服时,你不需要考虑明天穿什么;当你只有一个菜时,你不需要考虑下顿吃什么;当你只有一件事可做时,你不需要考虑时间分配与精力分配。
单一别无选择的生活真轻松。
当你多出一件衣服时,你得考虑要么扔掉一件,要么制定一个规则换衣服穿;当你有两道菜时,你得考虑如何吃才能更舒心;当你有两件事做时,你必须考虑时间分配与精力分配,哪怕另外一件事微不足道。
然而现实世界是,有些人不止一件衣服,女人们经常为穿衣服发愁;每个上班族都发愁下一顿吃什么;许多人每天大小事一堆,不得不学习更有效的时间管理。而我,作为一个程序员,每天写程序也得考虑程序的扩展性。
扩展性与上面说的这些有关系吗?
有!!!
当你的程序只需要处理一个情况时,连if-else都不需要写,这样的程序员是幸福的。
然而需求很快变化了,多了一个情况需要处理,单纯的程序员,为这个程序员加上了if-else分支判断,这样的程序员依然是幸福的。
但是既然有了两个情况,那么第三个情况自然也就来了(别说不可能,以前的性别选项只有男女,现在有些网站居然有十几二十种),单纯的程序员继续添加else-if,有心的程序员开始考虑这个问题了:我还要加多少个if-else.
有些情况可能可能性有限,比如大小比较:>,>=,=,!=,<=,<,不能再多了,虽然写if-else比较烦,但写完就可能不会再烦了;有些情况可能是无限的,比如日志的handler,比如协议的扩展,IDE和编辑器的插件,数据库的分库分表,集群节点的水平扩展。
从一到二并不只是加一,能处理好扩展问题的程序员才是好的程序员。
有感于与同事在一张表与几十甚至更多张表存储方案的争论。
网友评论