热搜关键词: cadence新能源汽车电机传感器

pdf

代码阅读方法与实践

  • 1星
  • 2022-12-28
  • 41.05MB
  • 需要1积分
  • 7次下载
  • favicon收藏
  • rep举报
  • free评论
标签: 代码

代码

代码阅读有自身的一套技能,重要的是能够确定什么时候使用哪项技术。本书中,作者使用600多个现实的例子,向读者展示如何区分好的(和坏的)代码,如何阅读,应该注意什么,以及如何使用这些知识改进自己的代码。养成阅读高品质代码的习惯,可以提高编写代码的能力。 

阅读代码是程序员的基本技能,同时也是软件开发、维护、演进、审查和重用过程中不可或缺的组成部分。本书首次将阅读代码作为一项独立课题,系统性地加以论述。本书引用的代码均取材于开放源码项目——所有程序员都应该珍视的宝库。本书围绕代码阅读,详细论述了相关的知识与技能。“他山之石、可以攻玉”,通过仔细阅读并学习本书,可以快速地提高读者代码阅读的技能与技巧,进而从现有的优秀代码、算法、构架、设计中汲取营养,提高自身的开发与设计能力。

本书适用于对程序设计的基本知识有一定了解,并想进一步提高自身开发能力的读者。

第1章  导论

1.1  为什么以及如何阅读代码

1.2  如何阅读本书

进阶读物

第2章  基本编程元素

2.1  一个完整的程序

2.2  函数和全局变量

2.3  while循环、条件和块

2.4  switch语句

2.5  for循环

2.6  break和continue语句

2.7  字符和布尔型表达式

2.8  goto语句

2.9  小范围重构

2.10  do循环和整型表达式

2.11  再论控制结构

进阶读物

第3章  高级C数据类型

3.1  指针

3.2  结构

3.3  共用体

3.4  动态内存分配

3.5  typedef声明

进阶读物

第4章  C数据结构

4.1  向量

4.2  矩阵和表

4.3  栈

4.4  队列

4.5  映射

4.6  集合

4.7  链表

4.8  树

4.9  图

进阶读物

第5章  高级控制流程

5.1  递归

5.2  异常

5.3  并行处理

5.4  信号

5.5  非局部跳转

5.6  宏替换

进阶读物

第6章  应对大型项目

6.1  设计与实现技术

6.2  项目的组织

6.3  编译过程和制作文件

6.4  配置

6.5  修订控制

6.6  项目的专有工具

6.7  测试

进阶读物

第7章  编码规范和约定

7.1  文件的命名及组织

7.2  缩进

7.3  编排

7.4  命名约定

7.5  编程实践

7.6  过程规范

进阶读物

第8章  文档

8.1  文档的类型

8.2  阅读文档

8.3  文档存在的问题

8.4  其他文档来源

8.5  常见的开放源码文档格式

进阶读物

第9章  系统构架

9.1  系统的结构

9.2  控制模型

9.3  元素封装

9.4  构架重用

进阶读物

第10章  代码阅读工具

10.1  正规表达式

10.2  用编辑器浏览代码

10.3  用grep搜索代码

10.4  找出文件的差异

10.5  开发自己的工具

10.6  用编译器来协助代码阅读

10.7  代码浏览器和美化器

10.8  运行期间的工具

10.9  非软件工具

可用工具和进阶读物

第11章  一个完整的例子

11.1  概况

11.2  攻坚计划

11.3  代码重用

11.4  测试与调试

11.5  文档

11.6  观察报告

附录A  代码概况

附录B  阅读代码的格言

推荐帖子 最新更新时间:2023-03-31 20:52

基于国产车规级处理器T507-H开发平台,如何用50行Python代码实现图传和人脸识别?
我们在米尔国产T507-H车规级处理器的开发板上尝试无线图传功能,并且叠加人脸识别检测视频中是否存在人脸。这次使用的是USB摄像头,可以直接接在开发板的接口上。 1. 连接摄像头 连接好摄像头后使用指令dmesg,看到能读取到摄像头。显示为HIK 720p Camera   接下来使用v4l来检测相机的详细参数。 安装v4l:sudo apt install v4
blingbling111 编程基础
关于示波器,每个电子工程师都应该了解的几点
在电子工程师和技术人员要用到的全部测试设备中,最有用的无疑就是示波器。示波器的功能强大,可以帮助电子工程师和技术人员快速、准确地捕获随时间变化的电压(或电流等其他参数)测量值,而实验室中的任何其他设备都无法轻松完成这样的测量。   示波器是广泛用于制造业、电路设计等行业,对于故障排除,信号完整性以及简单了解电子电路工作原理的基本必备工具。   尽管现代的示波器的整个按键,旋
Micsig麦科信 综合技术交流
430单片机的flash 读写操作
当我用串口软件向430单片机flash中写入10时(假设理解成10秒钟),然后再把10从flash中取出来。但问题出现了,按理说写入flash的数据10两个字节应该被写入0x1080和0x1081两个地址了,读出数据也是从0x1080开始读出,但现在我的目的是:比如我把10要写到flash segA的0x1080-0x1085这6个地址,没有数据的地址写0,但要保证读出来的数据就是10,请问该怎么
pengbiao1210 微控制器 MCU
FPGA精华学习资源推荐(十七)--FPGA设计实战
FPGA精华学习资源推荐(十七)--FPGA设计实战 FPGA从诞生以来经历了从配角到主角的转变,FPGA主要用于取代复杂的逻辑电 路,现在重点强调平台概念,当集成数字信号处理器、嵌入式处理器、高速串行和其它高端技术后,从而被应用到更多的领域,正因为其飞速的发展,让更多学FPGA的人看到了希望,其广阔的前景正是我们选择的原因之一。 (1)广阔的发展前景   2)更多的就业机会 (3)
tiankai001 下载中心专版
TMS320C6678中Hyperlink的架构
1.hyperlink需要一个参考时钟为SerDes模块服务,可以选择156.25Mhz,250Mhz,312Mhz。 2.管脚描述,serdes是数据传输,LVCMOS是边带信号用于控制,数了一下一共26根线,8*2的LVCMOS线,10根serdes线。具体功能如下图: 3.TXPM和TXFL控制serdes的TXDATA;RXPM和RXFL控制serdes的RXDATA。
Aguilera DSP 与 ARM 处理器
iTOP-IMX6Q开发板设备树-RFID驱动-修改手册
本文档基于迅为iTOP-IMX6开发板 1.内核 拷贝rc522驱动到iTOP-iMX6_android6.0.1/kernel_imx/drivers/spi目录下。 打开iTOP-iMX6_android6.0.1/kernel_imx/drivers/spi/Makefile 添加: obj-$(CONFIG_SPI_RC522)       += rc522.o iTOP-
砂舞的玩笑 嵌入式系统
MSP430与ATK-NEO-6M GPS模块
本帖最后由 Aguilera 于 2019-11-4 22:03 编辑 接下来先看看我的硬件环境。 硬件环境:MPS430开发板,FYD12864LCD显示屏,USB转串口线,ATK-NEO-6M GPS模块 软件环境:IAR集成开发环境,串口调试工具,Secure CRT 实现目标:MSP430通过串口2接收到GPS信息,显示在LCD上,同时通过串口1发送接收到的数据到P
Aguilera 微控制器 MCU
MSP430FR2433 LaunchPad™ 开发套件
    MSP-EXP430FR2433 LaunchPad™ 开发套件是基于 MSP430FR2433 超值系列传感微控制器 (MCU) 的易用型评估模块 (EVM)。它包含在超低功耗 MSP430FR2x 超值系列传感 MCU 平台上进行开发所需要的全部资源,包括用于编程、调试和能量测量的板载调试探针。此板包括 2 个按钮和 2 个 LED 以用于创建简单的用户接口。它还支持使用超级电容器(需
Aguilera 微控制器 MCU

评论

G986
谢谢楼主的分享!
2023-01-27 16:21:55
登录/注册

意见反馈

求资源

回顶部
查找数据手册?

EEWorld Datasheet 技术支持

热门活动

相关视频

可能感兴趣器件

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
×