写点什么

程序员需要知道的 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:286440
用户头像

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

关注

评论

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

Angular 服务器端渲染两个相关的 SERVER_REQUEST_URL 和 SERVER_REQUEST_ORIGIN

汪子熙

前端开发 angular 三周年连更

Go语言开发小技巧&易错点100例(七)

闫同学

三周年连更

围绕应用的云原生转型建设

穿过生命散发芬芳

云原生 三周年连更

面试不再慌!苦学这份2023最全的Java性能优化实战笔记,已涨17k

Java你猿哥

Java 面试 JVM 多线程 Java性能优化

python采集评论区内容

BROKEN

三周年连更

Matlab实现Non-Local Means算法

袁袁袁袁满

三周年连更

我理解的声明式 vs 命令式

agnostic

声明式

appuploader   iOS 应用自动发布

雪奈椰子

Mac M1 安装SD(上)

IT蜗壳-Tango

三周年连更

Golden Gate(GGX)开发者见解与创新DeFi应用

股市老人

什么是 Intelligence Enterprise 的 Business network?

汪子熙

人工智能 机器学习 数字化转型 三周年连更

自然语言处理_AI文本翻译

DS小龙哥

三周年连更

数据湖技术Iceberg和Hudi的比较

漫长的白日梦

数据湖 iceberg Hudi

Python语法基础快速回顾

timerring

Python

Java8 lambda 表达式 forEach 如何提前终止?

Java你猿哥

Java ssm java8 foreach

程序性能提高了5倍!开源阿里500页的Java程序优化笔记

Java你猿哥

Java 面试 性能优化 Java虚拟机 Java性能优化

为什么《魂斗罗》只有128KB却可以实现那么长的剧情?

Java你猿哥

Java 编程 程序员 汇编语言 优化技术

为什么有些前端一直用 div 当按钮,而不是用 button?

海拥(haiyong.site)

三周年连更

分布式事务的21种武器 - 4

俞凡

架构 云原生

一文看懂:性能监控神器JavaMelody

后台技术汇

三周年连更

Java 数组在内存中的结构是怎样的?数组访问、遍历、复制、扩容、缩容如何编写代码?

Java架构历程

Java 数组 三周年连更

变量,常量以及与其他语言的差异

乌龟哥哥

三周年连更

2023-05-02:如果一个正整数每一个数位都是 互不相同 的,我们称它是 特殊整数 。 给你一个正整数 n ,请你返回区间 [1, n] 之间特殊整数的数目。 输入:n = 20。 输出:19。

福大大架构师每日一题

Go 算法 rust 福大大

分布式事务的21种武器 - 3

俞凡

架构 云原生

OpenHarmony应用TS&JS编程指南

鸿蒙之旅

OpenHarmony 三周年连更

程序员如何应对失业? | 社区征文

石云升

职业规划 三周年征文 三周年连更

自动化与DevOps

阿泽🧸

自动化 三周年连更

Java Collection与Map详解

timerring

Java

Bash脚本中的Sleep命令到底有何妙用?

wljslmz

三周年连更

MySQL面试八股文:索引篇

Java你猿哥

Java MySQL ssm 索引 八股文

我懵了,如果要存 IP 地址,用什么数据类型比较好?

Java你猿哥

Java MySQL 数据库 ssm IP

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