50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

将程序记在脑子里

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

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

关注

评论

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

《产业结构调整指导目录(2024年本)》发布,模糊测试首次纳入

云起无垠

软件测试/测试开发/全日制 |理解JavaScript的异步编程模型

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

测试

数据洞察力,驱动企业财务变革

智达方通

全面预算管理 财务转型 财务变革 数据洞察力

OpenAI 自带的检索功能好用吗?定量测评带你深度了解!

Zilliz

Zilliz openai 向量数据库 zillizcloud

2023 IoTDB Summit:天谋科技高级开发工程师苏宇荣《汇其流:如何用 IoTDB 流处理框架玩转端边云融合》

Apache IoTDB

必须知道了解的40个SEO专业术语!

九凌网络

软件测试/测试开发/全日制 |构建基于机器学习的实时推荐系统

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

测试

14代酷睿亮相!华硕天选5 Pro新配置开售,比13代贵500元值吗

E科讯

一文解析Web缓存代理

不在线第一只蜗牛

Web 前端开发 web开发

软件测试/测试开发/全日制/测试管理丨Appium Server

测试人

软件测试

软件测试/测试开发/全日制 |理解CORS与跨域资源共享的应用

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

测试

软件测试/测试开发/全日制 |理解Web应用性能优化的关键技术

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

测试

软件测试/测试开发/全日制/测试管理丨自动化测试框架UI Automator

测试人

JD商品详情数据接口

tbapi

京东商品详情数据接口 京东API接口 京东商品数据接口 京东商品数据采集

小红书搜索团队提出全新框架:验证负样本对大模型蒸馏的价值

小红书技术REDtech

算法 搜索 大模型 AAAI 负样本

为什么思科愿意高价收购一家云网络创业公司

B Impact

如何使用 NFTScan NFT API 在 Fantom 网络上开发 Web3 应用

NFT Research

API NFT\ NFTScan

Casper Network (CSPR)2024 年愿景:通过投资促进增长

股市老人

软件测试/测试开发/全日制/测试管理丨移动自动化测试框架Appium

测试人

软件测试

2024 爱分析 · AI 与大模型高峰论坛:和鲸喜获两项殊荣!

ModelWhale

人工智能 大数据 数据智能 大模型 前沿

Ronin 与 Footprint Analytics 宣布合作,探索使用数据赋能 Web3 游戏

Footprint Analytics

区块链 加密货币

使用云桌面对于企业来说是否值得?

青椒云云电脑

桌面云 云桌面 云桌面解决方案 云桌面系统

青椒云桌面:企业办公网络安全的现状及解决方案!

青椒云云电脑

云桌面 云桌面系统

AWS改革6万人的销售团队以解决客户投诉问题

B Impact

JavaFx项目至安装程序

alexgaoyh

JavaFx exe4j 桌面应用 Inno Setup Compiler jre运行环境

软件测试/测试开发/全日制 | 使用Vue.js构建单页应用(SPA)

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

测试

亚马逊API:快速查询全球商品数据的技巧!

技术冰糖葫芦

API

游戏被攻击,有没有什么好的解决办法

德迅云安全杨德俊

DDoS

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