10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

程序员需要知道的 97 件事

  • 2009-10-01
  • 本文字数:1883 字

    阅读完需:约 6 分钟

架构师需要知道的97 件事(参看 InfoQ 此前的报道)之后,该系列来到了本期:程序员需要知道的 97 件事。这些内容都是通过 wiki 搜集的,我们欢迎大家群策群力,请说出你的想法。

在本文撰写之际,该 wiki 上已经有 88 个条目了,现摘取一些条目列举如下:

InfoQ 有幸采访到了程序员需要知道的 97 件事的编辑 Kevlin Henney 以深入了解该项目。

97 件事系列始于软件架构师需要知道的 97 件事,然后就是项目经理需要知道的 97 件事,现在轮到了程序员需要知道的 97 件事。每一主题都是由众人群策群力并发布到 wiki 上,大家可以对其进行编辑,然后从中选取 97 个条目形成最后的图书。 这些参与的人们通过声明、邀请、推荐以及口述的方式献计献策。软件架构师与程序员项目(Software Architect and Programmer projects)走的更远,这样只要你有足够的兴趣和动力就可以参与进来。内容则来自于博客、争论以及 Programmer 和 Twitter( @97TEPSK )。

通过为所有的贡献应用 Creative Commons 协议再加上开放性使得整个项目达到了开源项目的品质。即便是在图书出版后,项目 wiki 仍然接受大家的建议,目的就是搜集更多的信息。

在架构师需要知道的 97 件事完成之后,为何又开始了程序员相关的话题?

为什么不从反方向来看呢?毕竟在软件开发领域中,程序员是比软件架构师更庞大的群体。 架构师需要知道的 97 件事是这个系列的第一本,也是我们的第一次尝试。在考虑按系列出书之前,我们把它当作是一本独立的书籍。Richard Monson-Haefel 曾希望将自己正在做的“架构师需要知道的 10 件事”加到 Bruce Eckel 所维护的列表中,我们从中获得了灵感,之后整个系列就蓬勃发展起来了。

有一次我在检查代码中的疏漏,发现自己不知不觉地在嘀咕“Dammit,这是每个程序员都需要知道的事情!”(当然了,我一开始的感觉是非常强烈的),这就是这本面向程序员的图书的灵感来源。“每个程序员都需要知道”触动了我的思绪。我曾经写过各种值得推荐的做法和值得考虑的问题,但却将其放到了软件架构师这本书当中了,同时发现集体的智慧是无穷的。

该项目面向哪类程序员呢?

这本书面向所有程序员。它并非是一本教你如何做的书,也不是一个介绍性指南抑或是程序员需要知道事情的权威列表,而是来自于各种视角和经验的对程序员有价值的知识片段。有些程序员可能会发现这本书对他们应该知道的知识进行了补充和增强。另一些程序员会感到这本书填充了其知识和经验上的沟壑而无论他们的经验水平到底处在哪个层次上。还有些程序员会发现这本书在某些地方与自己的经验产生了矛盾,这种方式更能激发大家的讨论,非常棒。 大家既能随需阅读这本书,也能深入进去;既能用于群体学习,也能自己细细品味;同时它也是一本很棒的床头书(很多面向程序员的图书都不具备这个特质),当然了,大家还可以在等飞机、地铁或是公交车的时候用这本书消磨时间,只要天气允许就行。

这个系列还会有第四本书么?

97 件事系列还在继续,我们当然希望还会涌现出更多的书。虽然不少项目已经被提出,甚至已经试验性地开始了,但现在我觉得这些项目还没有达到能够出书的程度。 没什么具体的模式——软件架构师、项目经理、程序员、DBA、业务分析师、UI 设计者等等——因此该系列并不会按照这种方式来组织。没有什么东西会限制这些书籍与软件开发的的具体关系。每个项目都是单独提出并由一个编辑来管理,因此选择的决定权在于编辑,同时他也是项目的驱动者。

现在每个读者都一定想知道为何条目的数量正好是 97 呢?

这些都是精华所在:-) 这么说没错,但这个理由实在没什么说服力,其实也不是真正的原因。之所以 97 是因为这个数字很接近 100 却又不是 100,然而太接近也不怎么好(比如 99 或是 101)。大约是 100,因为我们考虑到了很多短条目,每个条目占两页,正好符合纸质图书的页数标准。具体的数字 97 是由 Richard Monson-Haefel 决定的,他是架构师需要知道的 97 件事的编辑,这也是该系列的第一本——毫无疑问,97 件事系列的其他图书在某种程度上也要遵循这个模式!

如果条目太少,那么每个条目就会变得很长,多样性也会降低,变得更像是普通的文章,这会降低参与者的积极性,最后的图书可能就变成一个小册子了。如果条目太多,那么每个条目就会变短,看起来就像是摘要一样,最后的图书也会变得太长了。

请访问程序员需要知道的97 件事的wiki 以了解更多信息,同时别忘了看看条目列表

查看英文原文: 97 Things Every Programmer Should Know

2009-10-01 05:286528
用户头像

发布了 88 篇内容, 共 271.1 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

银斯微推出跨平台APP生成、发布Non-Stop云服务“W-Hive”

科技热闻

车联网移动场景MQTT通信优化实践

EMQ映云科技

车联网 物联网 IoT mqtt 10月月更

一文梳理2048小游戏从开发到上云全流程

华为云开发者联盟

云计算 游戏开发 华为云 企业号十月 PK 榜 2048小游戏

【文本检测与识别白皮书】第三章-第三节:算法模型

合合技术团队

人工智能 深度学习 文字识别 文本

Docker | 镜像浅析,以及制作自己的镜像

甜点cc

Docker tomcat 10月月更

Rocksdb dynamic-level-bytes测试简单记录

TiDB 社区干货传送门

实践案例 管理与运维

Docker | 部署nginx服务

甜点cc

nginx Docker 10月月更

Nodejs:ESModule和commonjs,傻傻分不清

coder2028

node.js

Kyligence 当选 Gartner 2022 中国数据管理 Cool Vendor

Kyligence

Gartner 数据管理

“程”风破浪的开发者|THREE.JS实现看房自由(VR看房)

知心宝贝

前端 three.js 元宇宙 VR看房 “程”风破浪的开发者

细说nodejs的path模块

coder2028

node.js

千万级高并发秒杀系统设计套路!超详细解读~~

博文视点Broadview

多版本并行,测试如何做好质量保障?

老张

质量保障 版本迭代

新来个技术总监,仅花2小时,撸出一个多线程永动任务,看完直接跪了,真牛逼!

小小怪下士

Java 程序员 多线程

TiCDC 实践:TiDB 到 TiDB 增量数据迁移

TiDB 社区干货传送门

迁移

深入nodejs的event-loop

coder2028

node.js

TiDB v6.1.0 及 TiUniManager 在 openEuler 22.03 中的部署踩坑实践

TiDB 社区干货传送门

实践案例 管理与运维 安装 & 部署 应用适配 6.x 实践

OpenHarmony轻量系统中内核资源主要管理方式

OpenHarmony开发者

OpenHarmony

从P5~P8!最适合在职Java程序员学习提升路线大公开!

Java永远的神

程序人生 后端 架构师 java程序员 Java学习路线

建木v2.5.7发布

Jianmu

DevOps 持续集成 CI/CD 自动化运维

为了讲明白继承和super、this关键字,群主发了20块钱群红包

华为云开发者联盟

开发 华为云 企业号十月 PK 榜 发红包

“程”风破浪的开发者|什么是web3.0,一文带你搞懂它

共饮一杯无

前沿技术 Web3.0 10月月更 “程”风破浪的开发者

【LeetCode】无法吃午餐的学生数量Java题解

Albert

算法 LeetCode 10月月更

如何定义LED显示屏与OLED显示屏

Dylan

LED LED显示屏 OLED

数据中台的前世今生(一):数据仓库——数据应用需求的涌现

雨果

数据中台 数据仓库

面试官:你说说JavaScript中类型的转换机制

CoderBin

JavaScript 面试 前端 类型转换 10月月更

企业架构-了解分布式

Marvin

企业架构 分布式系统 凤凰架构 书籍拆解

零信任时代安全沙箱成为企业应用必需品

FinClip

Java中的抽象类详解

共饮一杯无

Java 抽象类 10月月更

钛媒体 | 发布PaaS平台2.0,元年科技通过自主技术撬起更大市场

元年技术洞察

媒体 PaaS

koa实战

coder2028

node.js

程序员需要知道的97件事_Java_Mirko Stocker_InfoQ精选文章