一天我路过一座桥,碰巧看见一个人想跳河自杀。我跑过去对他大喊道:“别跳,别死啊。”
“为什么不让我跳?”他说。
“因为还有很多东西值得我们活下去啊。”
“有吗?比如说?”
“呃……你做什么工作?”
“程序员。”
我说:“我也是!瞧,有共同点了吧。你是软件还是硬件?”
“软件。”
“我也是!PC 还是 Web?”
“PC。”
“我也是!Windows 还是 Linux 平台?”
“Linux。”
“我也是!那你使用 C 还是 C++?”
“C++。”
“我也是。1998 年的 C++ 98 还是 2011 年的 C++ 11?”
“2011 年的 C++ 11。”
“我也是。大括号写在后面还是写在下一行?”
“下一行。”
“去死吧!你这个异教徒人渣!”我一把将他推下桥去。
Newer is better.
新技术,新名词如数家珍,擅长做各种 Demo,热衷于实现各框架的 “get started” 项目,参加各类讲座,听 web seminar,向周围人布道,并试图在手头的项目中应用。
这是程序员中的乐天派,相信明天会更好,有激情,有干劲,团队里有一个,整组人都受益;但如果有太多,项目可能就有点悬。
Less is more.
追求简单设计,厌恶复杂性。复杂的设计,是罪恶的根源,难维护,难扩展,看不懂,强耦合,动则得咎,挂一漏万... 什么?你问需求就是这么复杂怎么办?改呀!简化需求。复杂的需求,那可是罪恶的根源...
这是程序员中的悲观主义者,相信明天会有更多麻烦,老板客户脑子里都是浆糊,不知道自己要什么,世界一片混乱,只有自己简单的设计可以傍身。
Quick and dirty.
快,那是真快!上午提的需求,下午就上线,至于质量嘛,也不能说差,就是走了几个 shortcut,添了几层耦合,以后出错,那就是以后的问题了。
这是活在当下程序员。明天?那是没有明天的!明天项目可能就下线了;不下线,需求也可能改了;没改,用的人也可能不多;用的人多,到时也不一定是我维护;是我维护,我就忍;忍不住了,大不了就重构呗。
Nothing is true, everything is permitted.
万物皆虚。不要给我说什么业务逻辑。凡所有相,皆是虛妄。需求,不过是行为和模式;代码,不过是接口和合约。Class,一定要有 Interface 的,Factory,一定要是 Abstract 的。我写程序,只有一个目的,解耦!需求只是告诉我解哪儿的耦罢了。
万事皆允。我设计的系统,可以满足你过去的,现在的,和将来的所有的需求。到时候,你只需要找人写个实现就好了。
这是程序员中的哲学家和独身主义者,每天的生活就是写接口,decouple。女朋友?No,coupling 是不好的。
Not my problem.
框架里 throw error 看不懂,请找“新技术”大神。
有需求,但设计不支持,请找“少就是毛”大神。
写个感叹号 app 就崩溃了,请找“快而脏”大神。
设计看不懂,不知道 code 写哪,请找“刺客信条”大神。
总之,not my problem, not my problem, not my problem...
这是各流派的集大成者,真正的大家,以无法为有法,堪破了软件工程的真相:在水平一定的前提下,减少 bug 的最佳实践就是,
少写代码。
很大概率是土耳其新一轮的军事冒险,如果亚美尼亚没有强力帮手介入,大概率会军事失败。
如果军事上失败,很可能最终会演变为亚美尼亚的亡国,国土被阿塞拜疆和土耳其划分。
有人分析会是小打小闹,和以前一样,但是这是基于最终会有强有力的势力出来斡旋的前提上。
但是在当今世界,俄罗斯会为此和土耳其反目吗?美国会为此打破孤立政策吗?对于已经彻底放弃入欧的土耳其,欧盟又有多大的影响力?这些都是要打一个大大的问号的。
和列强的踌躇犹豫不同,人家土耳其灭亡亚美尼亚的国家,屠灭亚美尼亚人种的决心可是很坚定的。