《代码阅读》读书笔记(一)

《代码阅读》读书笔记(一)


《代码阅读》(《Code Reading The Open Source Perspective》)Diomidis Spinellis 著

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一. 学习代码阅读的重要性:

 

  1. 在软件开发过程中,有40% 70%的工作量是在系统首次编写完成后投入的,这些工作通常是阅读、理解、和修改源代码。

 

  1. 历史遗留代码的不断积累;

 

  1. 软件复用越来越被重视;

 

  1. 软件公司的人员流动性通常比较高;

 

  1. 开源开发工作和合作开发工作(包括 外包、代码走查、和极限编程)的重要性正在日益增强。

 

    以上这几个因素都使得代码阅读成为工程师今时今日必不可少的技能。但是学校的教学却缺少如何阅读代码的训练,他们更多的关注的是

如何从最初的草案开始编写程序。

 

二. 如何选择较高质量的代码:

 

阅读之前,我们首先要选择要阅读的代码,而选择一些高质量的代码才能够有效的提高你的编程水平。书中给我们讲述了怎样鉴别低品质的代码:

1.编码风格不一致;


2.结构上毫无道理的复杂或可读性差;


3.明显的逻辑错误或疏忽;


4.过度使用不可移植的结构;


5.缺乏维护。


虽然作者列了这么几条,但我还是觉得,对于我这个新手,通过以上几条来判别代码的优劣还是有难度的,所以初期我还选择一些公认的优秀代码来读比较靠谱,比如说书中所选的各种开源代码。

 

三. 如何阅读代码:

 

将代码作为范例:


定位你所感兴趣的某个功能的代码的位置,然后撇开其余不相关的部分,对它进行研究分析

如果你觉得在原来的上下文中理解代码有困难,你可以将它复制到一个临时文件中,删除所有不相关的部分,这一过程被称为切片


维护:


在其他情况下,代码可能不是学习范例,而是需要被修复的。如果自认为发现了一个大型系统中的 bug,你需要采取一些策略,不断细化对代码的阅读,知道找出问题。

在这种情况下,你需要利用一些工具来帮你完成维护任务。


演进:


在多数情况下,代码阅读不是为了修复缺陷,而是为了增加新的功能、修改现有的特性,调整代码使其适应新的环境和需求,抑或是重构以加强代码的非功能性质量。这时可以采用以下策略:


1.定位到感兴趣的代码部分。


2.单独了解各个特定的部分。


3.推断摘选出的代码与其余代码的关系。


重用:


代码阅读也可能是为了寻找可供重用的部件。

这部分代码阅读的关键理念是降低期望值。

 

检查:


通过阅读代码找出功能和逻辑上的错误。

以及代码的非功能性检查(是否符合组织的开发规范和风格?是否有重构的可能性?等等…).

 

四. 总结:


通过以上的笔记我们不难发现作者描述的代码阅读的主要方法就是:定位,细读,操作(修改,增加,重构),检查



PS. 1.这本书是偶然在图书馆发现的,看了两章后果断自己也入了一本。作者再书中以一些经典的开源代码为例,循序渐进的呈现给读者这些开源代码的奥秘,各位童鞋们值得一看。

     2.最近一段时间在实习公司参加实习,进公司的第一件事是给了我们他们做过的小系统,让我们去自己研究。(木有任何文档,注释基本是少的可怜)。这可不是一件好玩的事情,刚开始我是毫无头绪的一行一行往下看,到最后什么门道也没看出来。知道读了这本书,才算是稍微有了点章法,现在进展还不错。

     3.切身体会到,当前这种时代下,阅读代码的能力绝对是非常重要的。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用 Python 来创建一个阅读笔记程序。你可以使用 Python 的 GUI 库如 Tkinter 或 PyQt 来创建程序的图形界面,使用文件读写模块来保存和读取笔记。 如果你需要将这个程序打包成 exe,可以使用 pyinstaller 或 cx_Freeze 等工具来进行打包。 以下是一个简单的示例代码,使用 Tkinter 创建阅读笔记程序的界面。 ```python import tkinter as tk root = tk.Tk() root.title("阅读笔记") # 创建文本框 text = tk.Text(root) text.pack() # 创建保存按钮 save_button = tk.Button(root, text="保存", command=save_note) save_button.pack() root.mainloop() ``` 其中 save_note 函数可以负责将笔记保存到文件中。 以上代码只是个简单的示例,你可能需要根据你的需求来进行修改和扩展。 ### 回答2: Python可以用来开发一个阅读笔记的exe应用程序。该应用程序可以帮助用户记录读书笔记、整理阅读材料,并提供一些便捷的功能。 首先,该应用程序应该具备一个简单的用户界面,可以让用户添加阅读材料的信息。用户可以输入书名、作者、出版日期等基本信息,并可以添加自己的笔记内容。这些信息可以保存到本地数据库或者文本文件中,方便用户随时查看和编辑。 其次,该应用程序可以提供一些搜索和分类的功能,帮助用户快速找到自己感兴趣的材料。用户可以根据书名、作者或者出版日期等信息进行搜索,也可以将材料分为不同的分类,比如小说、科技、历史等,方便用户进行整理和管理。 此外,该应用程序还可以提供一些额外的功能来增强用户的阅读体验。比如,用户可以设置阅读进度,记录自己已经读到哪一页;可以设置阅读目标,帮助自己合理安排阅读时间;还可以添加标签和评论,方便用户做更详细的整理和回顾。 最后,该应用程序还应该具备数据备份和恢复的功能,以防止用户的阅读笔记丢失。可以定期自动备份用户的阅读笔记数据,并提供恢复功能,保证用户的阅读数据安全可靠。 总之,通过利用Python开发一个阅读笔记的exe应用程序,可以帮助用户更好地整理和管理阅读材料,提高阅读效率和体验。 ### 回答3: Python可以编写一个阅读笔记的exe应用程序。为了实现这个功能,可以使用Python的GUI库,如Tkinter或PyQt来创建用户界面,并使用文件处理模块来读取和写入笔记。 首先,可以使用Tkinter或PyQt创建一个简单的界面,包括一个文本框用于显示笔记和一个保存按钮。用户可以在文本框中输入和编辑笔记内容,并通过保存按钮将笔记保存到文件中。 要将笔记保存到文件中,可以使用Python的文件处理模块来实现。可以使用open()函数打开一个文件,指定文件名和打开模式(如写入模式),然后使用write()函数将文本框中的内容写入文件。最后,使用close()函数关闭文件。 为了读取笔记,可以在程序启动时检查是否存在之前保存的笔记文件。可以使用open()函数以读取模式打开文件,使用read()函数读取文件内容,并在文本框中显示。 除了基本功能外,你还可以添加其他功能,例如支持创建新的笔记文件、添加时间戳、对笔记进行搜索等。 总之,通过使用Python的GUI库和文件处理模块,你可以编写一个简单的阅读笔记exe应用程序,让用户可以方便地创建、编辑和保存笔记。该程序可以在Windows操作系统上作为exe文件运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值