跳转到内容

英文维基 | 中文维基 | 日文维基 | 草榴社区

维基百科:像好的程序员一样

维基百科,自由的百科全书

维基人里本来就有一部分是程序员或者做过程序员,而软件开发业界有一个有趣的现象就是可以看到各种各样的论述和实践。当然了,随着时代的变化,上网的人群越来越大众化,维基人里程序员的成分也自然会降低。

不论如何,从软件开发业界搬运一些思想方法和实践,是值得尝试的。比照软件开发业界的思想方法和实践,也可以印证和修正中文维基百科的一些惯常认知和实践。举例来说,中文维基百科曾经长期普遍误用鸭子测试,但一个好程序员自然知道鸭子测试不是用来“一望而知”的,所以WP:鸭子测试解释为一望而知显然是错误的。

并非所有的软件开发业界的思想方法和实践都适合维基百科,但如果一个人实际掌握了那样的方法,不妨尝试在维基百科应用。毕竟维基百科的内容虽然不是软件,但在线协作这件事难道不是软件业界所擅长的吗?

可以借鉴软件开发方法的例子

[编辑]
  • WP:鸭子测试
    • 其实鸭子测试是一种认知(打标签)的方法。基于鸭子测试,可以用行为、特征属性来定义类型。如果说特征的属性是关于特定条目主题的知识,那么如何确认特征的属性就是关于知识的知识,可以指导人如何写条目。
    • 比如鸭子“有两只脚”,“会嘎嘎叫”,“会游泳”,那么所有继承/扩展鸭子类型的类型都具备这些行为/属性。A是一种B,那么A扩展B,A具备B的行为、属性。这种认知是归纳性的。写条目时,类似地,自然会想到,“腾讯是一家公司”,那么一般而言公司的属性腾讯都该有。在写腾讯这个条目的时候自然应该先列举所有一般而言公司的主要属性,比如业务内容、规模、历史、资本来源、产品等。实际情况可能不是单独一次扩展,而可能是多重扩展,比如“腾讯是一家软件公司,一家软件公司是一家公司”,“腾讯是一家中国公司,一家中国公司是一家公司”等。
  • 测试驱动开发
    • 什么?这也能用到写条目上?当然能。在编写出条目内容之前,先想好写出来的条目应该包含什么样的内容。再具体一些就是:写条目之前先准备好一些问题,条目写出来之后看看能不能清晰地回答这些问题。问题当然是因条目类型而异,比如对一个政治人物条目来说,通用的问题可能是:“这人有什么成就和影响”,“这人作为政治人物有所成就和影响时属于哪个政治团体”,“这人的人生经历是什么,此人怎样成为了后来为人所知的样子”。如果一个条目是以从来源复制粘贴文字、润色而敷衍而成的,就算能够回答上面的问题,在回答上面的问题之后剩余的内容很可能是比例不当的。比如“用了过多篇幅描述此人在尚不是政治人物之前的经历”,“描述了太多对世人而言影响不大但是可以夸赞、吹捧传主的细节”。
  • 猪与鸡
    • 这个不是方法而是思想。让做具体事的人有更多的ownership。