写点什么

将程序记在脑子里

  • 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:501724
用户头像

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

关注

评论

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

Nacos 荣获 GLCC 优秀社区,同时 2.3.0-BETA 发布,欢迎试用

阿里巴巴云原生

阿里云 云原生 nacos

OpenAI换血大震动始末:“ChatGPT之父”奥特曼,缘何被“扫地出门”?

芯动大师

连锁餐饮数字化:一体化运营管控平台

明道云

绝地反击,不做背锅侠!

尚思卓越

运维 堡垒机

Go 1.22新特性前瞻

Tony Bai

golang Go 语言 go1.22

极狐GitLab 集成 sonarqube 实践指南

极狐GitLab

WuBit:聚合BRC20资产交易,续写铭文市场新浪潮

BlockChain先知

2024年度腾讯犀牛鸟精英人才计划开放申请

极客天地

Kosmos实战系列:有状态服务(MySQL)跨云灾备实战

畅聊云原生

基于「迭代分支」的 API 开发模式

Apifox

程序员 后端 Apifox 分支 API 开发

【坚果派】JS开源库适配OpenHarmony系列——第一期实操

白晓明

OpenHarmony JS开源库 ArkTS开源库

2023年度系列榜单出炉 这些优质应用你都用过多少?

最新动态

基于大语言模型LangChain框架:知识库问答系统实践

博文视点Broadview

Vue 2最终版本 v2.7.16 已发布

南城FE

JavaScript Vue 前端开发

ATorch:蚂蚁开源PyTorch分布式训练扩展库,助你将硬件算力压榨到极致

AI Infra

人工智能 aiinfra

带你了解决策树模型

小齐写代码

低代码实施复杂应用的实践方法

明道云

WuBit:聚合BRC20资产交易,续写铭文市场新浪潮

石头财经

提升用户体验--了解和探索无障碍性测试

QE_LAB

无障碍 测试技术

《网络安全事件报告管理办法(征求意见稿)》正在公开征求意见

行云管家

网络安全 网络安全法

Flink Has Become the De-facto Standard of Streaming Compute

Apache Flink

大数据 flink 实时计算

移动端防截屏录屏技术在百度账户系统实践

百度Geek说

移动端 企业号12月PK榜 防截屏录屏 百度账户系统

IPQ6018 vs. IPQ8074: A Selection Guide for Wireless Network Processors

wallysSK

一起学Elasticsearch系列-写入和检索调优

Java随想录

Java 大数据 Elastic Search

Kuasar成为CNCF官方项目,探索容器运行时新纪元

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟

第33期 | GPTSecurity周报

云起无垠

如何用零代码工具去经营好企业的客户

明道云

好用的IOS数据传输工具:FonePaw iOS Transfer中文激活

胖墩儿不胖y

Mac软件 iOS数据传输工具

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