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

将程序记在脑子里

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

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

关注

评论

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

2024年职教展-2024全国职业教育产业博览会

秋硕展览

按图搜索的实时性:阿里巴巴拍立淘API返回值的快速响

技术冰糖葫芦

api 网关 API Gateway API 文档 API 测试 pinduoduo API

828华为云会议Flexus版重磅亮相,让每一场会议都高效!

轶天下事

技术干货 | YashanDB+Zabbix搭建监控可视化平台,手把手实操!

YashanDB

yashandb 崖山数据库

inBuilder的业务领域划分

inBuilder低代码平台

微服务 低代码

Flink全新周边正式上线!议题征集正在进行中!

Apache Flink

大数据 flink 实时计算 Apache Flink FFA

摊牌了!一文教会你轻松上手豆包MarsCode 编程助手!

TRAE.ai

人工智能 AI 代码 教程 分享工具

Kotlin协程的取消机制:深入理解和优雅实现

伤感汤姆布利柏

搭建Jellyfin、Plex、Emby媒体服务,贝锐花生壳轻松内网穿透远程访问

贝锐

NAS 群晖 #docker

来云栖大会!探展云上开发,沉浸式体验云原生 + AI 新奇玩法

阿里巴巴云原生

阿里云 云原生

从孤岛到协同,集成式财务规划的未来

智达方通

业财融合 全面预算管理 财务管理 财务预算

掌握 C++17:结构化绑定与拷贝消除的妙用

不在线第一只蜗牛

c++

皮阿诺七星服务,提升家居定制新体验

新消费日报

火山引擎携手地瓜机器人,加速大模型在机器人场景规模落地

火山引擎边缘云

IoT 机器人 AIOT 智能IoT边缘服务 大模型

什么是 Rainbond?打破 Kubernetes 的复杂性

北京好雨科技有限公司

Kubernetes 云原生 rainbond 企业 9 月 PK 榜

通义灵码企业代码补全增强使用实践

阿里云云效

阿里云 云原生 通义灵码

数字化转型背景下低代码开发模式变革的研究

不在线第一只蜗牛

低代码 数字化

望繁信科技与华恒生物正式签约,共同开启流程数字化转型新篇章

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能

悲惨!刚入职没几天,无意间把数据库删了,很尴尬,原因很奇葩

五阳

程序员 java 架构

实现多线程的方式有哪些?

秃头小帅oi

哈银消金以普惠金融服务助力假期经济

极客天地

来云栖大会!探展云上开发,沉浸式体验云原生 + AI 新奇玩法

阿里云云效

阿里云 云原生

从低代码到AI赋能,企业科技创新的下一个风口

天津汇柏科技有限公司

低代码 AI 人工智能

手工转测试开发轻松实现薪资 50%涨幅的逆袭之路

霍格沃兹测试开发学社

【YashanDB知识库】执行sql语句时报YAS-04401 data type - expected, but BLOB got异常

YashanDB

yashandb 崖山数据库 yashandb知识库

利用观测云实现云资源FinOps优化

观测云

云服务 FinOps

【开源鸿蒙】运行OpenHarmony轻量系统QEMU RISC-V版本

码匠许师傅

qemu OpenHarmony risc-v

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