写点什么

将程序记在脑子里

  • 2007-10-22
  • 本文字数:744 字

    阅读完需:约 2 分钟

最近,在一篇名为《将程序记在脑子里》的文章中,Paul Graham 认为“代码就是你对某个问题的理解。所以,只有当你把代码牢记在脑子里,才算真正地理解问题“。不幸的是,正如每个程序员所知,说起来容易做起来难:

把程序记下来不是件容易的事儿。如果你想要捡起几个月前的一个项目,并再一次真正想清楚它是怎么一回事,那可能要花上几天的功夫。即使是你手头上的一个程序,在每天开始工作时,你可能也要花上半个小时才能真正回想起来。这里有个最好的例子。那些在经典办公环境下工作的普通程序员从来不会遇到这种情况,说得更严重一些,工作在经典办公环境下的普通程序员从来没有真正地理解他们正在解决什么样的问题。

因此,开发人员怎么做才能让程序牢记在脑中呢?Graham 给出了八点建议:

  1. 避免分心
  2. 一口气做久一点
  3. 使用简洁的编程语言
  4. 持续重构
  5. 写易读的代码
  6. 小团队工作
  7. 避免多人编辑同一代码块
  8. 从小事做起

敏捷过程和实践可以看作是将创业起步阶段公司里的自发形成的做法映射成可在大组织里推行的措施。作为种子投资公司 Y Combinator 的合伙人, Paul Graham 的大部分建议是针对刚起步的小公司提出的,因此,问题就变成了以上建议如何对应到敏捷实践?当然,大多数敏捷开发者习惯于写可读性代码,持续重构,小团队工作,以及从最小却提供真正价值的小事儿做起。而且很多敏捷开发者还不断采纳更有威力的语言,如 Ruby Erlang Haskell ,甚至 Common Lisp

但是,对于不太容易映射到敏捷实践的那些建议又怎么认识呢?(1)和(2)是紧密相连的,而且有些人会认为,共享工作空间反而容易分心。另一个常见的敏捷实践就是代码集体所有制,与(7)相矛盾。这么说来,是敏捷拥趸们做错了吗?还是这些实践之间的冲突反映了大公司和小公司工作方式有某种不可避免的差异呢?

英文原文链接: Holding a Program in Your Head

2007-10-22 07:501540
用户头像

发布了 100 篇内容, 共 24.0 次阅读, 收获喜欢 5 次。

关注

评论

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

Enhanced SWAP内存管理 OpenHarmony构建新的内存管理优化方案——ESWAP

科技汇

分布式数据对象:超级终端的"全局变量"

科技汇

Amazon Aurora 读写能力扩展之 ShardingSphere-JDBC 篇

亚马逊云科技 (Amazon Web Services)

Tech 专栏

好的每日站会,应该这么开 | 敏捷开发落地指南

阿里云云效

云计算 阿里云 敏捷开发 研发敏捷 每日站会

深入微服务-SpringCloud调用组件Feign

janyxe

spring Spring Cloud Feign OpenFegin

无聊科技正经事周刊(第4期):理性囤货与人工智能预测

潘大壮

程序员 科技 行业趋势 科技周刊

不要再焦虑了,进大厂真的没你想象的那么困难

Java架构追梦

Java java面试 后端开发

零基础学Java第一节(语法格式、数据类型)

五分钟学大数据

Java 4月月更

【IT运维】如何又快又好的进行数据备份?

行云管家

运维 快照 数据备份 IT运维 行云管家

netty系列之:protobuf在UDP协议中的使用

程序那些事

Java Netty 程序那些事 4月月更

小微企业如何在10分钟内实现持续交付

阿里云云效

云计算 阿里云 研发管理 持续交付 研发团队

作为一名iOS开发者—面对音视频这个新风口应该怎样学习才能乘风而起?

iOSer

ios 音视频 ios开发 OpenGL ES 音视频技术

TiFlash 源码阅读(一) TiFlash 存储层概览

PingCAP

小程序自动化测试框架原理剖析

百度Geek说

小程序 百度

短短6小时,AI设计出40000种毒气分子,很多毒性远超战用神经毒剂

图灵教育

AI

等保2.0国家标准是什么?与等保1.0有啥变化?

行云管家

网络安全 等保 等级保护 等保2.0

OneFlow获得首届“全国颠覆性技术创新大赛”最高奖

OneFlow

深度学习 技术创新

为什么业务团队需要实施CRM系统?

低代码小观

CRM 客户关系管理 企业管理系统 CRM系统 客户关系管理系统

阿里、字节、美团的offer我都拿到了,全靠这份Java面试题

Java架构追梦

Java 程序员 java面试 后端开发

毕业总结

孙强

#架构实战营

ArkUI框架又有哪些新增能力?

科技汇

《数字经济全景白皮书》数字零售篇 重磅发布!

易观分析

数字零售 数字购物

WorkPlus助力深i企打造移动数字化底座

BeeWorks

大数据培训Flink基础知识分享

@零度

flink 大数据开发

英特尔宋继强:以智能推动“科技+艺术”融合创新

科技新消息

架构实战营 - 方案设计文档模板

华仔

架构实战营 文档模板 方案设计

面试突击43:lock、tryLock、lockInterruptibly有什么区别?

王磊

Java 面试题

java培训MySQL一次性插入多行数据的操作

@零度

Java MySQL

头一次见这么牛的的SpringBoot从入门到实战文档

Java架构追梦

Java spring 程序员 后端开发

浅谈小程序开源业务架构建设之路

百度Geek说

10 个 web 在线前端资源,优雅永不过时~

前端 网页设计 在线资源

将程序记在脑子里_研发效能_Kurt Christensen_InfoQ精选文章