Upload
Download free for 30 days
Login
Submit Search
Code reading
0 likes
1,123 views
AI-enhanced description
Li Jiansheng
该文档强调了阅读高质量代码的重要性,包括项目组织、编译过程、配置、版本控制和测试等方面的内容。它引用了多位著名人士的观点,阐述了代码阅读的必要性和维护的重要性。最后,该文档还提供了相关参考资料。
Read more
1 of 10
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
More Related Content
PDF
Slideshare
Padri94
PDF
Portfolio giorgia vernareccio
Giorgia Vernareccio
PPTX
R. Villano - The photos (en part 6)
Raimondo Villano
ODP
Guerra mundial 1 1
PALPS_13
PDF
Keynotes Corporate Techtraining Group 2014 - US version
Patrick Yrhi
PDF
The way of_open_source
Li Jiansheng
PDF
Community governance evolution_open_infra_china_day_2018
Li Jiansheng
PDF
Why said engineer_is_roadblock- lc3
Li Jiansheng
Slideshare
Padri94
Portfolio giorgia vernareccio
Giorgia Vernareccio
R. Villano - The photos (en part 6)
Raimondo Villano
Guerra mundial 1 1
PALPS_13
Keynotes Corporate Techtraining Group 2014 - US version
Patrick Yrhi
The way of_open_source
Li Jiansheng
Community governance evolution_open_infra_china_day_2018
Li Jiansheng
Why said engineer_is_roadblock- lc3
Li Jiansheng
More from Li Jiansheng
(20)
PDF
东方文化与技术社区
Li Jiansheng
PPT
开发者与开源社区
Li Jiansheng
PPT
GitHub 开源指南深度解读
Li Jiansheng
PDF
秘方文化与Ceph项目分析
Li Jiansheng
PDF
Inner source introduction
Li Jiansheng
PDF
2015中国软件技术大会-开放云介绍
Li Jiansheng
PDF
Why based success_opensource_project_will_fail_its_product_last
Li Jiansheng
PDF
Open source culture_in_china_team
Li Jiansheng
PDF
深入浅出云计算之IaaS
Li Jiansheng
PDF
Hackers and painter book reading
Li Jiansheng
PDF
社区翻译那点事
Li Jiansheng
PDF
数据中心操作系统浅析
Li Jiansheng
PDF
oVirt社区最新活跃度
Li Jiansheng
PDF
Ovirt deep dive
Li Jiansheng
PDF
Understand ovirt
Li Jiansheng
PDF
Newbie 3 things
Li Jiansheng
PDF
Docbook intr
Li Jiansheng
PDF
Deep dive-oz
Li Jiansheng
PDF
Python in vir
Li Jiansheng
PDF
Linux anaconda
Li Jiansheng
东方文化与技术社区
Li Jiansheng
开发者与开源社区
Li Jiansheng
GitHub 开源指南深度解读
Li Jiansheng
秘方文化与Ceph项目分析
Li Jiansheng
Inner source introduction
Li Jiansheng
2015中国软件技术大会-开放云介绍
Li Jiansheng
Why based success_opensource_project_will_fail_its_product_last
Li Jiansheng
Open source culture_in_china_team
Li Jiansheng
深入浅出云计算之IaaS
Li Jiansheng
Hackers and painter book reading
Li Jiansheng
社区翻译那点事
Li Jiansheng
数据中心操作系统浅析
Li Jiansheng
oVirt社区最新活跃度
Li Jiansheng
Ovirt deep dive
Li Jiansheng
Understand ovirt
Li Jiansheng
Newbie 3 things
Li Jiansheng
Docbook intr
Li Jiansheng
Deep dive-oz
Li Jiansheng
Python in vir
Li Jiansheng
Linux anaconda
Li Jiansheng
Ad
Code reading
1.
Code Reading the Open
Source Perspective 要养成一个习惯,经常花时间阅读别人编写的高品质的代码
2.
一项成功的技术,必须先要经受事实的考验,因为没有人能够欺骗大自然。 --Richard Phillips
Feynman 规程 ● ● ● ● ● ● 为什么要阅读别人的代码? 项目的组织 编译过程和制作文件 配置与部署 版本控制 第三方工具 ● 测试
3.
我很遗憾的告诉大家,就在最近,我再次 查看了我的程序( 质因子和井子游
戏),它们没有任何形式的注 释和文档。 --Donald E. Knuth 理论基础 ● ● ● ● ● 没有任何一个作家开始写作而没有读过任何人的作品。 维护 重构 利用或重用 审查 ● hacking...
4.
根据第二十二条 军规,只有疯子才能获准免于飞行,但必 须由本人提出申
请,但你一旦提出申 请,恰好证明了你是一个正常人, 还是在劫难逃。第二十二条 军规还规 定,飞行员飞 满25架次就能回国,但它又 说,你必须绝对服从命令,要不就不能回国。因此上 级可以不断 给飞行员增加飞行次数,而你不得 违抗。如此反复,永无 休止 项目的组织 ● 源码树常常能够反映出项目在构架和软件过程上的结构。 ● 不要被庞大的源代码集合吓倒;它们一般比小型的专门项 目组织得更出色。 ● Readme?Install?docs?Hacks?etc. 不要放过任何一个 可能获得信息的文件。
5.
忽视数据,实际上,是人们协调内心矛盾时采取的最简单,也最普遍的方式。 -- William
James 编译过程和制作文件 ● 能够“阅读”项目的编译过程和阅读项目的代码同样重要。 ● 依赖关系图说明各个项目组件的正确编译次序。 ● 编译过程中最为错综复杂的部分是项目依赖关系的定义 与管理。 ● Make, Ant, Maven,waf ......
6.
自然界的法则只不过是上帝的数学思维而已。 -- Euclid 配置与部署 ● ● ● ● ● ● pom.xml
and mvn ./ear/pom.xml groupId,artifactId,version. engine-setup host-deploy /etc/$package-name/config-file
7.
文档就如同性爱:当它很完美时,那真是太美妙;当它不和谐时,也比没有要好一些。 --Dick Brandon version
control commit Great git git blame git log git log -p git diff So SVN,CVS,hg .......
8.
给我们工具,我们就会完成工作。 -- Winston
Churchill 工具 ● ● ● ● ● 正则表达式 find grep eclipse + a lot of plugins Debug
9.
物理学家能够将他们的错误掩盖起来,但设计师只能建议他们的客户种植一些葡萄藤(来弥 补设计上的缺陷)。 --Frank Lloyd
Wright 测试 ● ● ● ● 首先将它用起来! Junit CI Used it!
10.
Thanks = lambda:
"any question?" 参考资料 ● 《代码阅读方法与实践》ISBN: 9787302080725 清华大学出版社 2004
Download