Google的Common Lisp编程风格指南
4星 · 超过85%的资源 需积分: 9 117 浏览量
更新于2024-07-26
2
收藏 874KB PDF 举报
"Google Common Lisp Style Guide 是一份由Google发布的关于Common Lisp编程语言的编码风格指南,旨在提供一套标准的编码规范,以提高代码的可读性和可维护性。这份指南由Robert Brown和François-René Rideau共同编撰,并向已故的Dan Weinreb致敬。"
在该文档中,作者引用了Rich Hickey的一句话,"模式意味着我已经用尽了语言",这暗示了Lisp语言的强大灵活性和表达能力。文档分为多个部分,详细阐述了各种编程实践和建议。
1. **Meta-Guide**:这部分定义了指南中使用的"Must", "Should", "May", 和 "Not" 的含义,明确了哪些规则是强制性的,哪些是推荐的,哪些是可以选择的,以及哪些是不应该做的。
2. **Permission and Forgiveness**:讨论了在代码设计时,如何平衡权限和容错性,确保代码在遵循规范的同时,也能适应变化和错误处理。
3. **Conventions**:涵盖了通用的编程约定,如代码组织结构和命名规则。
4. **Old Code**:对于已有的代码,如何在遵循新规范的同时进行迁移和更新。
5. **Future Topics**:对未来可能添加到指南中的主题进行了预告。
6. **General Guidelines**:提供了通用的编程原则,包括代码优先级、架构设计和库的使用。
7. **Architecture**:强调了良好的系统架构对项目的重要性,以及如何设计可扩展和可维护的系统。
8. **Using Libraries**:讨论了如何有效利用和集成外部库,以及如何编写自己的库。
9. **Open-Sourcing Code**:如果代码打算开源,应遵循的最佳实践。
10. **Development Process**:涉及到开发流程,包括版本控制、测试和代码审查。
11. **Formatting**:这部分详细规定了代码的格式化规则,如行宽、缩进、文件头注释、垂直和水平空白的使用。
12. **Spelling**:强调正确拼写和使用一致的语言,以提高代码的清晰度。
13. **Line length**:建议了代码行的最大长度,以保证代码的可读性。
14. **Indentation**:详细规定了缩进的使用,通常在Lisp中,缩进是用来表示代码块的层次结构。
15. **File Header**:文件头的注释应该包含什么内容,以及如何格式化。
16. **Vertical whitespace**:何时使用空行来分隔代码段。
17. **Horizontal whitespace**:如何正确使用空格和制表符。
18. **Documentation**:强调文档的重要性,包括如何书写注释、使用分号等。
19. **Comment semicolons**:指导如何有效地使用注释分号。
20. **Grammar and punctuation**:在注释和文档字符串中,语法和标点符号的正确使用。
21. **Attention Required**:标记出需要开发者特别注意的部分。
22. **Domain-Specific Languages**:讨论了在Lisp中创建领域特定语言(DSL)的最佳实践。
23. **Naming**:命名规范是非常关键的一部分,包括符号指南、如何表达意图而非内容、全局变量和常量的命名、谓词名称的选择,以及如何避免在命名中使用库前缀。
24. **Symbol guidelines**:详细介绍了符号的命名和使用规则。
25. **Denote intent, not content**:提倡通过变量名和函数名来表达其目的,而不是具体实现细节。
26. **Global variables and constants**:对全局变量和常量的管理和命名提供了指导。
27. **Predicate names**:关于谓词(用于测试条件的函数)的命名规范。
28. **Omit library prefixes**:在命名时避免使用库的前缀,以减少命名冲突并提高可读性。
29. **Packages**:讨论了包的管理,包括如何命名和组织包,以及避免包名冲突。
30. **Language usage**:最后,还包含了关于如何有效地使用Lisp语言本身的指导,包括其独特的特性,如宏、动态类型和函数式编程。
"Google Common Lisp Style Guide" 是一个全面的参考文档,不仅涵盖了通用的编程最佳实践,还特别关注了Lisp语言的特性。它为使用Lisp编写高质量、可维护的代码提供了宝贵的指导。
251 浏览量
2021-08-19 上传
2023-09-04 上传
2023-10-01 上传
2023-10-28 上传
2023-11-29 上传
2023-10-10 上传
2023-06-08 上传
2023-05-20 上传
quickwen81
- 粉丝: 2
- 资源: 25
最新资源
- WPF渲染层字符绘制原理探究及源代码解析
- 海康精简版监控软件:iVMS4200Lite版发布
- 自动化脚本在lspci-TV的应用介绍
- Chrome 81版本稳定版及匹配的chromedriver下载
- 深入解析Python推荐引擎与自然语言处理
- MATLAB数学建模算法程序包及案例数据
- Springboot人力资源管理系统:设计与功能
- STM32F4系列微控制器开发全面参考指南
- Python实现人脸识别的机器学习流程
- 基于STM32F103C8T6的HLW8032电量采集与解析方案
- Node.js高效MySQL驱动程序:mysqljs/mysql特性和配置
- 基于Python和大数据技术的电影推荐系统设计与实现
- 为ripro主题添加Live2D看板娘的后端资源教程
- 2022版PowerToys Everything插件升级,稳定运行无报错
- Map简易斗地主游戏实现方法介绍
- SJTU ICS Lab6 实验报告解析