这是一本非常有趣的书,里面甚至包含了一个小测试(原文),区分一个程序员到底是保守派还是自由派。
下面一共有十个问题,每个问题都有 A 和 B 两个选项,请选择你的答案。
问题一:Bug 还没修复,软件能不能上线?
(A)软件发布前,应该编写完整测试,充分调试,尽量修复所有bug。
(B)不管多努力,bug 总是无法避免的,如果性质不是很严重,可以先上线,根据反馈再调试和修补。
问题二:容易出错的特性,是否应该用在程序中?
(A)很多语言的高级特性都是很容易出错和危险的,应该禁止用在代码里。没有这些特性我们一样可以进行开发,代码也会因此变得更安全。
(B)聪明的程序员有学习动力,知道怎么可以解决问题。为了避免出错,就立下一堆规矩,完全不可取。
问题三:新的语言或语法是否应该有所限制?
(A)公司里可以使用的语言数量应该受到限制,这样万一系统在半夜或是圣诞夜挂掉的时候,值班的人就不需要去临时抱佛脚学习新语法了。另外,也应该禁止改变语言原始定义的语法,比如严格限制操作符重载和元编程。
(B)程序员的学习能力是惊人的,没必要"保护"程序员远离新语法,只要有需要,他们自然能学会。
问题四:静态检查是否必要?
(A)编译器的安全检查很重要,不能进行静态检查的代码通常是不可接受的。
(B)代码应该短小精悍,静态检查工具可能会让代码变得又臭又长。
问题五:数据是否一定要有格式定义?
(A)数据必须遵循事先定义好的格式。比如,关系型数据库必须满足第三范式或UML,XML都必须有DTD,NoSQL数据库必须有单独的格式定义(标明所有允许的键,以及相应的值类型)。
(B)严格的数据定义只会妨碍灵活性,延缓开发进程。更好的策略是写一些注释,或者只定义一部分,甚至先略过它。因为在大量用户案例出现之前,没人知道数据可能会是什么样,代码先行才是正确的做法。
问题六:公共接口是否应该静态化?
(A)公共接口必须严格建模。数据绝不可以是无类型的,所有的输入输出实体都必须完整显式地定义为可以静态检查的模型。
(B)公共接口应该尽量简单,向前向后都兼容。建模时太过缜密的话,其实只是在猜测接口会怎么演化。
问题七:是否可以留有方便修改的后门?
(A)生产系统里绝不允许存在危险或有风险的后门。想要通过调试器、SSH、或任何接口,连接到工作中的生产系统,去修改运行时的代码或数据,应该是不可能的。
(B)系统的灵活性,有时能决定客户或合同是归你还是归对手。至于生产系统的安全隐患,可以通过日志、监控、审核等手段来缓解。事实证明,很多有最高权限后门和Shell 接口的大型系统,都做到了在控制风险的同时具备运行灵活性。
问题八:急需的但有安全隐患的系统,是否可以上线?
(A)假如一个组件的安全性存在任何疑虑,那它就不能发布上线,团队怎么哀求都没用。
(B)企业要保持竞争力,唯有不断有意识地去承担风险。就算不去冒险,其他系统急需这个系统,线上可能还是会出问题,既然如此那还不如冒险一试。
问题九:代码运行较慢,是否要去解决?
(A)快比慢好。没人喜欢慢的代码,所以代码的性能一定要好。从一开始,就要有性能意识,那些比较慢的语言和库都应该避免使用。
(B)不要过早优化,代码先跑起来再说。正确性比性能重要,而原型的快速迭代又比正确性更重要。只有当客户将性能列为首要问题时,再进行优化。
问题十:你最认可的语言是哪一个?
(A)C++、Java、C#、D、Go、Clojure、Ada、Ocaml、Eiffel、Clojure、Erlang、Pascal、Haskell、SML。
(B)C、Objective-C、JavaScript、Visual Basic、Lua、Scheme、Python、Common Lisp、Smalltalk/Squeak、Perl、Ruby、PHP,Bash。
结论
如果你的答案有超过一半的 A,你就属于保守派程序员。你非常重视软件安全和可靠性,厌恶风险,提倡严格管理,认为有效的规章制度是软件质量的保证。
如果你的答案有超过一半的 B,你就属于自由派程序员。你重视软件开发的灵活性,提倡给予程序员足够的自由,只要新功能顺利上线,可以接受一定的风险和瑕疵。
保守派或自由派,都没问题,都是可取的。问题是一支和谐的团队最好是由单一人群组成,要么全是自由派,要么全是保守派,免得双方不停地发生理念上的冲突。
相关推荐
风尚主义、自由派风格服装网店模板+ShopEx最新网店程序,ShopEx是国内市场占有率最高的网店软件,凭借其稳定、安全、优异的性能赢得了良好的口碑。ShopEx网上商店系统让你快速建立个性化的网上商店,内置多种网上...
- **解析:** 新保守派也被称为新自由派或新古典学派,主要由保守主义经济学家组成。这一学派的核心关注点在于经济效率的最大化。他们认为市场的力量不仅能够促使企业追求效率最大化,还能够确保雇员获得公平合理的...
《寂静的春天》在出版后引发了激烈的争议,它在保守派的《国家评论》(National Review)中被列为“十本最具破坏性的书籍之一”,同时也在自由派的《现代图书馆20世纪最佳非虚构作品列表》中占据了重要位置。...
德国经济思想的历史经常被描述为一个不发达的故事,它始于凯恩斯主义的延迟采用。 欧元区危机期间的讨论进一步强化了这种说法,这些讨论将这种被视为不发达的现象追溯到秩序自由主义,这是 1930 年代在弗莱堡出现的...
我们接受所有人的贡献,我们不在乎您是自由派还是保守派,黑人或白人,异性恋或同性恋者,或介于两者之间的任何事物! 实际上,我们不会提出或询问。 我们根本不在乎。 别的都无所谓!问:太好了! 如何将其添加到...
自由派该项目是使用版本11.2.0生成的。开发服务器为开发服务器运行ng serve 。 导航到http://localhost:4200/ 。 如果您更改任何源文件,该应用程序将自动重新加载。代码脚手架运行ng generate component component-...
例如,政治话题往往会导致形成两个极化群体,这两个群体之间交互甚少,常见的是自由派和保守派两个阵营。 文档中还提及了几个关键的研究人员和机构,包括 Pew Research Center(皮尤研究中心)、Marc A. Smith(马...
OpenWFE是一个开放源码的Java工作流...初步尝试这个东东,从WEB页面上感觉是一个很好的东东,也是一个比较理想的工作流设计的东东,也没有像uengine这个工作流复杂,是一个自由派的工作流引擎技术。现在正在学习当中
他持续对美国的外交政策和权力结构提出批判,这让他既赢得了左翼的支持,也遭到了右翼和自由派的批评。他的政治观点甚至使他面临安全威胁,但他坚持留在美国,认为美国的言论自由传统值得尊重。 乔姆斯基的理论影响...
雅各宾派由中小资产阶级领导,采取更为激进的措施,包括颁布共和宪法,坚决反对国内外的反革命力量。 法国大革命是世界近代史上规模最大的资产阶级革命,它不仅震撼了法国,也影响了整个欧洲大陆的封建统治秩序,...
是时候用他们的真名来称自由派了:巫婆和柏忌的半裸血癫狂之盟! 没有更多虚假的左派新闻给您! 媒体可能称它们为“自由主义者”,但我们知道它们的真正含义是……女巫和忌民的半裸血癫狂之盟的成员! 到时候那些...
自由派 FreeIPA 演示详细信息和配置
通过供应商(或称为总店)的接入,打通实体门店入口,打通网络分销加盟入口、打通就近配送、上门自提、自由派单的入口,打通整个线上线下渠道管控入口,以点带面;每一个渠道商(分销及门店)都是一个很有潜力的扩展...
语言:English (United States) 使用机器学习来分析任何网站的政治倾向 派对预览使用indico的政治文本分析来预测它的网络页面的政治倾向。 它提供了视觉表达,即绿党,保守,自由女神经或自由派观点存在的可能性。
通过供应商(或称为总店)的接入,打通实体门店入口,打通网络分销加盟入口、打通就近配送、上门自提、自由派单的入口,打通整个线上线下渠道管控入口,以点带面;每一个渠道商(分销及门店)都是一个很有潜力的扩展...
节点已被赋予值“ l”,“ n”或“ c”以指示它们是“自由的”,“中性的”还是“保守的”。 这些对齐方式是Mark Newman根据对亚马逊上发布的书籍的描述和评论的阅读情况分别分配的。 可视化使用颜色指示政治取向。...
16. **liberal**:形容词,意为慷慨的、开放的,也常用于形容自由派的思想或政策。 17. **transform**:动词,转变或变革,可指物理、心理或社会层面的变化。 18. **transmit**:动词,传播或传递,常用于广播、...
众所周知,最高法院的联邦优先购买决定是不可预测的。... 随着托马斯大法官逐渐将自己与法院的自由派一起定位,以形成一个由五名法官组成的投票集团,反对障碍抢占,一个令人惊讶的反障碍抢占联盟正在形成。
阻止自由派圣路易斯邮政派遣 使用这个简单的插件阻止自由的St.Louis Dispatch 支持语言:English (United States)