论程序员的本本主义与经验主义

一、问题的提起

项目里有两类人,最妨碍我们解决问题。

一类是“本本主义者”。他们手持一本不知何年的规章,开口“规范”,闭口“最佳实践”。他们的脑子不是用来思考的,是用来装条文的。你问他:“这条规矩,在眼前这事上还合用吗?会不会反而坏了事?”他不关心。他只关心你听不听他的。

这不是遵守规范,是借规范维持话语权。

另一类是“经验主义者”。他们嘴里没有书本,却有一句“我以前就是这么做的”。项目背景变了吗?业务体量变了吗?技术栈换了几个世代了?他不去证明,只会说:“你听我的就对了。”

经验成了压人的石头,不是帮助思考的工具。

这两类人,看似一个信书本,一个信自己,本质上是一回事:他们都把某种“过去的权威”当作今天的真理,自己放弃了思考,也不许别人思考。

二、一本证书

最近,领导催我去考一个证。不是为了学什么,是为了他汇报时的“通过率”数字好看。

我去看了考题。整个试卷,像是为背诵机器设计的——没有场景,没有细节,更没有真正的思考。只要把题库刷熟,闭着眼都能拿满分。

我刷了 N 遍,次次满分。但你要问我真懂了吗?我只能说一知半解。这些题不需要理解,只需要你“记住答案”。

我浑身别扭。我不反对学习,我反对的是这种把学习异化成数字的荒诞操作。

背书不等于能力,背题不等于成长。把八股试题当成绩效,这就是活生生的本本主义。他们相信:“数字好看,就是工作做得好。”但他们从不问一句:这数字,到底解决了什么问题?提升了谁的能力?还是纯粹在浪费时间?

三、一次险些发生的事故

再说一件刚发生的事。

我在开发环境用 bge large v1.5 模型,根据其输出写了数据解析逻辑,一切正常。

上线前,要切换到生产环境的 bge m3 模型。按一些“老经验”的说法:“模型换个版本,有啥担心?字段格式一般都一样。”

如果我信了这话,就栽定了。

我心里没底,决定 curl 一下验证。结果发现:外层字段一样, 里面的结构完全不一致

若按开发环境的逻辑直接上线,解析必崩。不是“可能出 Bug”,是百分之百的事故。

好在我验了。好在我没信“经验如此,必然如此”。

经验可以用,但不能迷信。未经验证的经验,不是方法,是赌运气。

四、结论

我写这些,不是要立什么“反权威”的人设。我只是把亲眼所见、亲身所遇的荒唐事记下来。

你会发现一个简单的事实:

  • 本本主义让人不思考
  • 经验主义让人不验证

不思考的人爱拍桌子,不验证的人爱拍胸脯。拍桌子和拍胸脯的,往往还是同一批人。

我没那么伟大,管不了所有人。我只希望自己永远别成为那样的人。

也愿在每天的代码、设计、验证里,都记得这句朴素的话:

规范不是铁律,经验不是真理。
工程师的脑子,不是用来装条文、炫资历的。
它是用来判断当下的。

  • 感悟
    127 引用 • 283 回帖
  • 毛选
    1 引用
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    599 引用 • 3541 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    63 引用 • 289 回帖 • 1 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 27 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 11 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 548 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 838 关注
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    135 引用 • 798 回帖 • 2 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    188 引用 • 833 回帖 • 2 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    168 引用 • 598 回帖
  • CodeMirror
    2 引用 • 17 回帖 • 197 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    203 引用 • 4024 回帖
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 404 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    43 引用 • 130 回帖 • 259 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    695 引用 • 538 回帖 • 2 关注
  • Outlook
    1 引用 • 5 回帖 • 1 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    200 引用 • 545 回帖
  • Visio
    1 引用 • 2 回帖
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 430 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    599 引用 • 3541 回帖
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 429 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    293 引用 • 4496 回帖 • 688 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 99 关注
  • Folo

    Folo 是一个 RSS 阅读和信息聚合应用,整合多种内容源到统一时间线。

    项目地址:https://github.com/RSSNext/Folo

    1 引用 • 3 回帖 • 2 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有机会重制。

    14 引用 • 258 回帖
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    21 引用 • 31 回帖 • 1 关注