写点什么

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

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

关注

评论

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

kubernetes/k8s CNI 分析 - 容器网络接口分析

良凯尔

Kubernetes 源码分析 Kubernetes Plugin #Kubernetes# cni

Android开发:新建后缀为txt的文件并且使用的步骤

三掌柜

8月日更 8月

使用Redisson优雅关闭订单

码农参上

redission 8月日更

JVM内存划分

wzh

面试 JVM 方法区

为了完成小姐姐安排的打分系统,又熬了一个小时的夜补充视图与模板

梦想橡皮擦

8月日更

装饰器模式

wzh

面试 设计模式 装饰器

ShardingSphere源码解析 初步准备

Java 源码 ShardingSphere

【布道API】权限错误码选择:401、403 或 404

devpoint

HTTP Authorization REST API 8月日更

Nginx-基本概念和使用

Rubble

8月日更

模块五作业

seawolflin

架构训练营

IDEA2020.1构建Spring5.2.x源码

4ye

Java spring 源码 后端 8月日更

策略模式

wzh

面试 设计模式 策略模式

手撸二叉树之合并二叉树

HelloWorld杰少

8月日更 数据结构算法

java操作sql server数据库

Python研究者

8月日更

如此爱国,必然自毁长城

箭上有毒

8月日更

Android.mk

Changing Lin

8月日更

Golang协程之了解管道的缓存能力

Regan Yue

协程 Go 语言 8月日更

Go- 字符串

HelloBug

索引 字符串 Go 语言 拼接 长度

@ConditionOnClass的使用

Rubble

8月日更

JAVA 规范

gin

Vue进阶(五十四):vue-cli 脚手架 dev-server.js 配置文件详解

No Silver Bullet

Vue 8月日更

四种常见的 POST 提交数据方式

一个大红包

8月日更

vue入门:vuex概括与使用

小鲍侃java

8月日更

JVM GC机制

wzh

面试 JVM 垃圾回收 GC GC Root

Java技术开发专题系列之【Guava Collections】实战使用相关Guava不一般的集合框架

码界西柚

Java Guava 8月日更 Guava Collections

观察者模式

wzh

面试 设计模式 观察者模式

回调模式

wzh

面试 设计模式 回调函数

Java web程序的运行时环境

wzh

Java tomcat 面试 Web JVM

类加载机制

wzh

Java 面试 JVM 类加载器 JVM类加载

几种常用设计模式的简单示例

编程三昧

JavaScript 大前端 设计模式 8月日更

Android EditText输入框实现下拉且保存最近5个历史记录

Andy阿辉

android Android 小菜鸟 编程思想 8月日更

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