2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

将程序记在脑子里

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

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

关注

评论

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

史上最大规模宕机事件的10个重要教训

我再BUG界嘎嘎乱杀

网络安全 安全 网安 CrowdStrike

利用Excel管理测试数据实现Pytest数据驱动测试

测吧(北京)科技有限公司

测试

Pytest中Fixture的yield用法

测吧(北京)科技有限公司

测试

使用pytest.ini 文件配置默认参数

测吧(北京)科技有限公司

测试

解锁拼多多商品数据:如何高效利用拼多多商品列表数据接口

tbapi

拼多多API 拼多多商品数据采集 拼多多商品列表数据接口 拼多多商品列表API

利用Pytest结合YAML实现数据驱动测试:深入解析与实践

测吧(北京)科技有限公司

测试

利用CSV管理测试数据实现Pytest数据驱动测试:方法与实践

测吧(北京)科技有限公司

测试

利用JSON管理测试数据实现Pytest数据驱动测试:方法与实践

测吧(北京)科技有限公司

测试

活动预告|“AI+Security”系列第2期:对抗!大模型自身安全的攻防博弈线上活动即将开始

云起无垠

我们程序员想晋升为什么这么难啊?

秃头小帅oi

Pytest-ordering自定义测试用例执行顺序

测吧(北京)科技有限公司

测试

OpenAI发布了 “轻量化” GPT-4o mini 功能更强、成本更低

蓉蓉

GPT-4o mini

多人同时大批量导出数据到 Excel 干崩服务器,如何处理?

源字节1号

开源

什么是Fixture作用范围

测吧(北京)科技有限公司

测试

经典排序算法:冒泡排序与选择排序

测吧(北京)科技有限公司

测试

“CITE2025深圳电子展”重磅来袭,全新展会主题隆重揭晓!

AIOTE智博会

电子展 深圳电子展 电子信息展 电博会

Pytest中autouse参数的用法

测吧(北京)科技有限公司

测试

Pytest 插件的种类

测吧(北京)科技有限公司

测试

算法性能评估:时间复杂度与空间复杂度的全面解析

测吧(北京)科技有限公司

测试

在Pytest中使用Fixture作为参数的高级技巧与最佳实践

测吧(北京)科技有限公司

测试

通过Fixture实现参数化测试

测吧(北京)科技有限公司

测试

Tenable Nessus 10.8.0 发布,新增功能概览

sysin

漏洞扫描 Nessus 漏洞管理

权限管理:RBAC和ACL在XIAOJUSURVEY的应用

XIAOJUSURVEY

服务端 权限控制 acl rbac Nest.js

解读Solana流动性质押发展现状:市场格局的悄然转变

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

流动的智慧:开创集成资产管理新局面 ——华为云ROMA Connect资产中心

API 华为云 企业数字化 资产中心

工信部:2024上半年我国信息安全领域收入909亿元

我再BUG界嘎嘎乱杀

网络安全 安全 信息安全 网安

一文探究传统数据仓库、数据湖与 Data Fabric(数据编织)的差异

Aloudata

数据仓库 数据湖 ETL Data Fabric

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