写代码需要民主,更需要专政!

  作者:光华居士 时间:2018-10-16来源:电子产品世界

十月革命一声炮响,给中国送来了马克思列宁主义和布尔什维克主义,据说,布尔什维克的路线方针就是:“不是我们杀死他们,就是他们杀死我们,没有中间道路。”天寒地冻造就了北极熊的凶猛好斗,也给俄国的布尔什维克披上了一层冰冷的外衣。在中国,这个有着5000年中原文明的国度里,在漫长的反封建反帝国主义的斗争中,中国共产党人实事求是,结合马克思列宁主义,联系中国实际,创立了人民民主专政的中间道路。它通过民主的方式避免了斗争性过强的左倾主义,尽显人性之温柔,又通过专政的方式避免了妥协投降的右倾主义,彰显了斗争之严酷。这是一次伟大的创举,是儒家思想中庸之道和布尔什维克的完美结合,人民民主专政制度广而用之,可以指导我们生活、工作的方方面面。比如,对软件开发来讲,民主和专政都很重要。

团结就是力量

俗话说,一个篱笆三个桩,一个好汉三个帮,正是有了分工,学会了合作,人类才在漫长的进化中击败了其它物种,站上了整个食物链的最顶端。不是有一首红色歌曲那样唱的吗:“团结就是力量,这力量是铁,这力量是钢,比铁还硬,比钢还强。。。”

那么,在一起写代码的过程中,“民主”是怎么团结码农从而发挥力量的呢?

从本质上来说,写代码是一种创造性的劳动,尽管有各种架构、设计模式、成熟方案、方法论,但具体的实现过程依然主观性很强,最终实现的代码中不可避免地带有码农个人的风格和特色。据说,这世上每个人都是上帝咬过一口的苹果,或多或少都带有缺陷,那么,码农的作品-代码-也或多或少沾染了作者的气息,必然不可能是尽善尽美的,金无足赤人无完人嘛。

尽管码农们有着技术水平的高低差异,但是,万物之灵的人类有着丰富多彩的情感,有着个性鲜活的生命,水平高的人有时也会犯下低级错误,有时候产品遇到问题,我们查找bug的时候,会发现所谓的bug只是一个低级错误,一个本来不该发生的低级错误,比如该是“按位取反”,结果搞成了“逻辑非”,比如该是比较是否相等,结果变成了比较是否不等,诸如此类的小bug,有时就是那么鬼使神差地出现了,最终找出来时,让人哭笑不得,老虎毕竟还有打盹的时候呐。如果写代码时,有一个所谓技术水平稍低一点的人在一边陪写代码,这样既贯彻了敏捷开发的理念,也避免了这种bug的出现,另外,这种言传身教,手把手地教着写代码,也能够促进菜鸟技术的飞升,更好地把团队带出来,一箭双雕,何乐而不为呢!

此外,“横看成岭侧成峰,远近高低各不同。”每个人的技术水平不同,习惯秉性不同,历史经验不同,在面对同样的问题时,自然是会提出不同的解决方案,而在产品设计之初,反复论证解决方案是必不可少的一个步骤。人,理性和感性并存,有时好的性格、好的习惯会弥补技术水平上的差距,针对同样一个问题,技术水平稍差的人却可能会提出更好的解决方案来,当其时也,几个工程师凑在一起唇枪舌战,你来我往,好不热闹,在头脑风暴中,在思维的激荡碰撞中,解决方案不断打磨成型,愈加完美,岂不妙哉?!

大方向必须专政

百度上说,聪明人喜欢在一起共事,度娘上又说,聪明人在一起相处很难,这种自相矛盾的模棱两可在一定程度上反映了人性的微妙和复杂,写代码做为一种高度复杂的人类活动,也不可避免地在单纯的技术开发之外或多或少地平添了一些火药气息。

在笔者十几年的开发生涯中,多次和同事唇枪舌战,有时是为了澄清对一项技术要求的理解,有时是为了理顺程序结构,有时是为了定义清晰明确的接口,有时甚至只是为了该用tab键还是空格键进行缩进而争论不休,记得美剧《硅谷》里讲到写代码怎么缩进,根据tab键还是空格键就划分出了两个阵营,男主就是因为这个和一个快要发展为女友的女码农争辩不休最终分手的。

有那么严重吗?当然!笔者是坚决的空格键阵营,因为不同的编辑环境里tab键的含义不同,有对应于2个空格键的,有对应4个空格键的,还有对应8个空格键的,如果某甲在编辑器A里写代码,用的tab键对应两个空格,某乙在编辑器B里写代码,用的tab键对应4个空格,那么我们还怎么把某甲和某乙的代码合在一个编辑器了呢?用tab键无非是省事而已!!!

此外,尽管法律面前人人平等,公平、正义的雨露也时刻飘洒在祖国的上空,但是我们必须承认,人和人就是不平等,《人月神话》里明确指出:优秀程序员和比较差的程序员在生产率上存在巨大差异,书里给出的差距是10倍,劳模雷军也曾经在一次活动现场讲过技术大牛和小菜存在100倍的差距。且不管比例如何,在这个主要靠人而不是靠机器写代码的时代,我们应该自觉自愿地把技术上的决策权让给水平高的人。

程序员大都心高气傲,很少服人,但是,软件系统概念的完整性必须由一人或者少数有默契的人来实现,倘若在此让步,必然软件紊乱,漏洞百出,而且,大多数项目都有时间进度上的严苛要求,而不必要的沟通和交流会影响时间成本,当交期临近,负责人必须乾纲独断,

项目成员也要有足够的自我牺牲和严格自律精神,接受专政,贯彻负责人的意志。

后话

当年佛陀在世,僧团人数众多,众口难调,佛陀提出了“六和敬”,以加强僧团的团结。六和敬即戒和同修、见和同解、利和同均、身和同住、口和无诤、意和同悦。嵌入式领域的码农团队,一般人数少,三五人是常态,很容易贯彻六和敬,大家遵守同样的设计纪律,就是戒和同修,一起分析设计系统,形成统一的意见,就是见和同解,项目干成了一起拿钱,干不成一起背锅,就是利和同均,互不轻视诋毁就是身和同住,说话和气,就是口和无诤,一起干事,看着项目越来越完善,内心充满喜悦,就是意和同悦。

其实,果真能贯彻了六和敬,可能比实施人民民主专政还要奏效,只是,据说现在想找一个六和敬的清净僧团也不好找了,所以,还是有事好商量(民主)、大事负责人做主(专政)更符合实际。

我党靠人民民主专政推翻了三座大山,建设了新中国,取得了举世瞩目的成就,用它来写个代码,还不是小菜一碟?

关键词: 写代码 民主 专政

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版