CODE COMPLETE 2e Chapter 7

本文探讨了子程序的设计原则,包括创建子程序的原因、如何提高内聚性和封装性、子程序的命名规范、合适的长度范围、参数组织方式以及过程与函数的区别。

1、为什么要创建子程序? 降低复杂度(抽象)、引入简单易懂的抽象、避免代码重复、隐藏顺序、简化复杂的布尔判断、改善性能;

2、循环,判断嵌套层次较深时,考虑抽象子程序;

3、子程序应当有很高的内聚性,即所执行的操作和名字完全相符,不做其他任何事情;

4、封装顺序的内聚性(把有顺序关联的操作封装起来);

5、反例: Startup() shundown() initialALL(),都是临时的内聚,不符合设计规范;

6、子程序命名: 描述子程序做的事情、避免表述不清的动词、不要通过加个数字来建立新的子函数、长度维持在9-15个字符、对返回值有所描述、使用动宾短语;

7、子程序可以有多长? 50-150行,超过200行则说明需要注意了;

8、子程序的参数组织,按照 输入-修改-输出的顺序组织(i_ m_ o_前缀说明),在接口中对假定做说明(如单位,枚举等等),个数限制在7个以内;

9、过程(void)和函数(有返回值);

10、确保写出能正确展开的宏: #define Cube(a) ((a)*(a)*(a));

11、有时候,封装很简单的操作为函数也有好处;

先展示下效果 https://pan.quark.cn/s/e81b877737c1 Node.js 是一种基于 Chrome V8 引擎的 JavaScript 执行环境,它使开发者能够在服务器端执行 JavaScript 编程,显著促进了全栈开发的应用普及。 在 Node.js 的开发流程中,`node_modules` 文件夹用于存储所有依赖的模块,随着项目的进展,该文件夹可能会变得异常庞大,其中包含了众多可能已不再需要的文件和文件夹,这不仅会消耗大量的硬盘空间,还可能减慢项目的加载时间。 `ModClean 2.0` 正是为了应对这一挑战而设计的工具。 `ModClean` 是一款用于清理 `node_modules` 的软件,其核心功能是移除那些不再被使用的文件和文件夹,从而确保项目的整洁性和运行效率。 `ModClean 2.0` 是此工具的改进版本,在原有功能上增加了更多特性,从而提高了清理工作的效率和精确度。 在 `ModClean 2.0` 中,用户可以设置清理规则,例如排除特定的模块或文件类型,以防止误删重要文件。 该工具通常会保留项目所依赖的核心模块,但会移除测试、文档、示例代码等非运行时必需的部分。 通过这种方式,`ModClean` 能够协助开发者优化项目结构,减少不必要的依赖,加快项目的构建速度。 使用 `ModClean` 的步骤大致如下:1. 需要先安装 `ModClean`,在项目的根目录中执行以下命令: ``` npm install modclean -g ```2. 创建配置文件 `.modcleanrc.json` 或 `.modcleanrc.js`,设定希望清理的规则。 比如,可能需要忽略 `LICENSE` 文件或整个 `docs`...
### 解决方案 在使用 npm 安装依赖时,如果出现 `ENOENT` 错误并提示缺少 `package.json` 文件,通常是因为当前工作目录中不存在该文件。以下是解决此问题的详细方法: #### 1. 确认当前目录是否正确 确保你在运行 `npm install` 命令时,位于包含 `package.json` 文件的正确目录下。可以通过以下命令检查当前路径: ```bash pwd # 在 Linux 或 macOS 下使用 cd # 在 Windows 下使用 ``` 如果当前目录不正确,请切换到正确的项目目录。 #### 2. 初始化一个新的 `package.json` 文件 如果确实缺少 `package.json` 文件,可以使用以下命令初始化一个新文件: ```bash npm init -y ``` 这将快速生成一个默认的 `package.json` 文件[^1]。 #### 3. 检查 Node.js 和 npm 的版本兼容性 错误日志显示你的 Node.js 版本为 v14.16.0,npm 版本为 v6.14.11。某些情况下,高版本的 Node.js 可能与特定模块(如 `node-sass`)存在兼容性问题[^3]。建议尝试以下步骤: - 升级 npm 到最新版本: ```bash npm install -g npm@latest ``` - 如果问题仍然存在,考虑降级 Node.js 到更稳定的版本(例如 v12.x)。可以从官方历史版本页面下载适合的版本[^4]。 #### 4. 手动创建 `package.json` 文件 如果无法通过 `npm init` 自动生成文件,可以手动创建一个简单的 `package.json` 文件,内容如下: ```json { "name": "your-project-name", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": {} } ``` #### 5. 清理缓存并重新安装依赖 有时缓存可能导致问题,可以尝试清理 npm 缓存并重新安装依赖: ```bash npm cache clean --force npm install ``` #### 6. 检查路径是否合法 错误日志中的路径为 `C:\Users\XX\package.json`,请确认该路径是否存在并且没有拼写错误。如果路径中包含特殊字符或空格,可能需要使用引号包裹路径[^2]。 --- ### 注意事项 - 如果问题仍未解决,建议检查全局环境变量配置是否正确,确保 `node.exe` 和 `npm-cli.js` 路径无误。 - 确保项目目录下没有隐藏的 `.gitignore` 文件排除了 `package.json`。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值