首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 为什么推荐蛇形命名法?

自:Python猫 关于变量命名,这又是一个容易引发程序员论战的话题。如何命名才能更具有可读性、易写性与明义性呢?众说纷纭。...) 帕斯卡命名法(Pascal case) 脊柱命名法(spinal case) 自由命名法(studly caps) 驼峰蛇形命名法 总体而言,这些命名法都是要克服单词间空格,从而把不同单词串连起来...我们简单比较一下它们优缺点: 可读性:蛇形命名法用下划线拉大词距,更清楚易读;驼峰命名法变量名紧凑,节省行宽 易写性:驼峰命名法以大小写为区分,不引入额外标识符;蛇形命名法统一小写,输入相对方便...现今有不少编程语言在某些场景下会推荐使用蛇形命名法, Python 则是其中最早这么做之一,并且是使用场景最多语言之一。 维基百科上统计了一份清单,可以看出 Python 对它偏好: ?...最后,我还看到过一种解释:因为 Python 是蟒蛇啊,理所当然是用蛇形命名…… 对于这三个解释,你们是如何感想呢?对于蛇形命名法,大家是喜欢还是不喜欢呢?欢迎留言交流。

1.6K20

​Python 为什么要推荐蛇形命名法?为什么不用驼峰命名

帕斯卡命名法(Pascal case)脊柱命名法(spinal case)自由命名法(studly caps)驼峰蛇形命名法总体而言,这些命名法都是要克服单词间空格,从而把不同单词串连起来, 最终达到创造出一种新...我们可以简单比较一下它们优缺点:可读性:蛇形命名法用下划线拉大词距,更清楚易读;驼峰命名法变量名紧凑,节省行宽易写性:驼峰命名法以大小写为区分,不引入额外标识符;蛇形命名法统一小写,输入相对方便明义性...现今有不少编程语言在某些场景下会推荐使用蛇形命名法, Python 则是其中最早这么做之一,并且是使用场景最多语言之一。...最后,我还看到过一种解释:因为 Python 是蟒蛇啊,理所当然是用蛇形命名……对于这三个解释,你们是如何感想呢?对于蛇形命名法,大家是喜欢还是不喜欢呢?欢迎留言交流。...参考文章:Python 为什么推荐蛇形命名法? https://juejin.im/post/6844904193979842567载本站文章《​Python 为什么要推荐蛇形命名法?

1.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

Python 为什么推荐蛇形命名法?

关于变量命名,这又是一个容易引发程序员论战的话题。如何命名才能更具有可读性、易写性与明义性呢?众说纷纭。...) 帕斯卡命名法(Pascal case) 脊柱命名法(spinal case) 自由命名法(studly caps) 驼峰蛇形命名法 总体而言,这些命名法都是要克服单词间空格,从而把不同单词串连起来...我们简单比较一下它们优缺点: 可读性:蛇形命名法用下划线拉大词距,更清楚易读;驼峰命名法变量名紧凑,节省行宽 易写性:驼峰命名法以大小写为区分,不引入额外标识符;蛇形命名法统一小写,输入相对方便...现今有不少编程语言在某些场景下会推荐使用蛇形命名法, Python 则是其中最早这么做之一,并且是使用场景最多语言之一。...最后,我还看到过一种解释:因为 Python 是蟒蛇啊,理所当然是用蛇形命名…… 对于这三个解释,你们是如何感想呢?对于蛇形命名法,大家是喜欢还是不喜欢呢?欢迎留言交流。

1.5K20

15个Typescript 5.0 中重要新功能快速了解一下

所有枚举都是联合枚举TypeScript 5.0 中,所有枚举现在都被视为联合枚举。 联合枚举为使用枚举值提供了更好类型安全性和改进的人体工程学。...这意味着现在可以缩小所有枚举范围,并将其成员也作为类型引用。 5. — moduleResolution 捆绑器 TypeScript 5.0 引入了一种新模块解析策略,称为 bundler。...这些标志对如何解析模块提供了更精细控制,使您可以微调构建过程。...编辑器中不区分大小写导入排序 TypeScript 5.0 通过不区分大小写改进了编辑器中导入排序。在组织导入时,此更改会导致更自然和直观排序顺序,从而使代码更清晰、更易读。 13....lib.d.ts 更改:更改 DOM 类型生成方式可能会对现有代码产生影响。值得注意是,某些属性已从数字转换为数字文字类型,并且用于剪切、复制和粘贴事件处理属性和方法已跨接口移动。

23330

屎一样代码命名,心态崩了。。。

前段时间,项目组新来一个实习生也经常在 Code Review 因为变量命名不规范被 “diss”,这我想到自己刚到公司写代码那会日子。...(snake_case) 测试方法名、常量、枚举名称需要使用蛇形命名法(snake_case) 在蛇形命名法中,各个单词之间通过下划线“_”连接,比如should_get_200_status_code_when_request_is_valid...蛇形命名法优势是命名所需要单词比较多时候,比如我把上面的命名通过小驼峰命名法给大家看一下:“shouldGet200StatusCodeWhenRequestIsValid”。 感觉如何?...相比于使用蛇形命名法(snake_case)来说是不是不那么易读?...2、测试方法名、常量、枚举名称需要使用蛇形命名法(snake_case),比如should_get_200_status_code_when_request_is_valid、CLIENT_CONNECT_SERVER_FAILURE

62710

Vue 备受热捧、VS Code 成主宰!2020 前端开发趋势指南,先干为敬!

由于大多数抉择已被确立,因此各个公司将其视为一个不错选择,因为开发人员可以专注于构建产品,不必花费时间考虑软件包。...Svelte 具有基于组件体系结构,可编译为纯 HTML 和原始 JavaScript,同时也承诺减少样板代码。它使用响应式编程来直接更新DOM,不是利用虚拟DOM。...、用于SSR应用程序Next / Nuxt、用于创建服务器生成器、免却为GraphQL编写服务器Hasura、使用 GraphQL 代码生成器自动生成 TypeScript 类型、Webpack不断得到简化等等...GraphQL 应用程序是数据驱动不是端点驱动),因此客户端可以声明所需的确切数据,从服务器接收相应JSON响应。...GraphQL 可以通过 GraphQL Code Generator 等工具读取客户端代码查询,并将其与架构进行匹配,以提供在整个应用程序中流动 TypeScript 类型。

1.6K10

程序员必知常见命名方法

1.驼峰式 驼峰命名法(Camel Case)不同单词之间没有分隔符,采用大小写混合方式区分不同单词。 小驼峰 如果第一个单词首字母小写,称为小驼峰(camelCase)。...帕斯卡蛇形式 如果所有单词首字母都大写,称为帕斯卡蛇形式(Pascal_Snake_Case)。 Pascal_Snake_Case 是将两种命名方式组合而成一种命名风格。...它是由 Pascal Case(帕斯卡命名法)和 Snake Case(蛇形命名法)组合而成。...string) Simonyi 提出大多数(但不是全部)前缀本质上是语义,现在来看,一些前缀也表示物理数据类型,例如以 Null 做结尾字符串使用 sz 前缀。...然而,这些前缀仍然是语义上,因为 Simonyi 想法是使用语义化前缀来表示变成语言类型系统无法表达逻辑上数据类型。 Simonyi 建议大多数前缀都是自然语义,但不是所有。

42520

用 AWS Smithy 构建下一代 API 服务

此外还有 GraphQL,用于把 GraphQL schema 生成服务端和客户端代码。 但大部分时候,我们服务端在提供对外接口时还离不开 REST API。...虽然在定义良好 OpenAPI spec 上它工作得很好,但 OpenAPI 以及其底层 JSON Schema 毕竟不是为了数据建模而设计,这就导致代码生成器无论怎么处理,都会陷入各种问题,只能疲于奔命地打补丁...如今,Smithy 几个代码生成器,Rust,TypeScript,Python,Swift 都有不错质量。...就可知一二, Smithy 又不是个直接和赚钱服务有关东西,所以文档质量就更加一般。...比如 lint 工具可以大家撰写代码都有一致风格, Smithy 这样工具可以所有人 API 设计都比较类似,避免意外。

50510

JavaScript中开发规范

As long as necessary(如有必要,尽量详尽):合理注释、空行排版等,可以代码更易阅读、更具美感。 单行注释 必须独占一行。// 后跟一个空格,缩进与下一行被注释说明代码一致。...常量, 使用全部字母大写,单词间下划线分隔命名方式。 ? 函数, 使用 Camel 命名法。 函数参数, 使用 Camel 命名法。 ? 类, 使用 Pascal 命名法。...类 方法 / 属性, 使用 Camel 命名法。 ? 枚举变量 使用 Pascal 命名法。 枚举属性, 使用全部字母大写,单词间下划线分隔命名方式。 ?...由多个单词组成 缩写词,在命名中,根据当前命名法和出现位置,所有字母大小写与首字母大小写保持一致。 ?...因为它并不是从 0 到 length - 1 进行遍历, 而是所有出现在对象及其原型链键值。 ? 二元和三元操作符 操作符始终写在前一行, 以免分号隐式插入产生预想不到问题。 ?

1.1K30

令人头疼代码命名规范……

世界级软件大师 Martin Fowler 大神都说过 CS 领域有两大最难事情,一是缓存失效,一是程序命名。 ? 《Clean Code》这本书明确指出: 代码注释不是越详细越好。...实际上好代码本身就是注释,我们要尽量规范和美化自己代码来减少不必要注释。若编程语言足够有表达力,就不需要注释,尽量通过代码来阐述。 要想编程语言足够有表达力,良好命名规范是必不可少。...正如它名称CamelCase所表示那样,是指混合使用大小写字母来构成变量和函数名字。程序员们为了自己代码能更容易在同行之间交流,所以多采取统一可读性比较好命名方式。...蛇形命名法(snake_case) 蛇形法是全由小写字母和下划线组成,在两个单词之间用下滑线连接即可。测试方法名、常量、枚举名称需要使用蛇形命名法(snake_case)。...测试方法名、常量、枚举名称需要使用蛇形命名法(snake_case) ,比如test_get_user()、TIME_LIMIT。并且,测试方法名称要求全部小写,常量以及枚举名称需要全部大写。

5.3K31

架构师日记—聊聊开发必掌握那些实践技能

常见命名方法有以下几种: •蛇形命名法(snake case):又叫下划线命名法,使用下划线,单词小写,比如:my_system; •驼峰命名法(camel case):按照单词首字母区分大小写,又可细分为大驼峰命名法和小驼峰命名法...JAVA语言本身是区分大小写,但是在用文件路径、文件名对文件进行操作时,这里文件名和路径是不区分大小写,这是因为文件系统不区分大小写。...非本地注释:注释应该在离代码实现最近地方,比如:被调用方法注释就由方法本身来维护,调用方无需对方法做详细说明; 6. 注释掉代码:无用代码应该删除,不是注释。...你可以使用枚举(Enum)或类(Class)来定义常量。 如果你需要定义一组相关常量,那么使用枚举更为合适。枚举从安全性和可操作性(支持遍历和函数定义)上面拥有更大优势。...作为通信媒介使用:也就是数据共享,它可以在不建立直接关联条件下,多个不相关两个线程或者进程之间实现通信。

10910

【译】Graphql, gRPC和端对端类型检验

我们并不是为了故意揭REST API短,而是基于我们自己React应用来看使用GraphQL主要优势在于: 对前端屏蔽了后端技术复杂性,那些后端服务更好地保持了它们原子性。...为了保证GraphQL server和前端之间类型安全,我们使用Apollo CLI代码生成器:使用命令行来生成我们所有GraphQL查询类型: React示例 在我们应用中需要用到三种查询:...需要注意TypeScript使用.ts和.tsx文件扩展名,不是.js和.jsx。...然而,不像.jsx/.js之间那样宽松,当文件中包含任何JSX代码时,你必须使用.tsx扩展名,这样TypeScript才能消除JSX和其他TypeScript语言特性之间歧义。...CreateTodoMutationClass mutation={CreateTodo} {...props} />; CreateTodoType和CreateTodoVariables都是通过Apollo代码生成器用命令行生成

3.1K20

盘点 IDEA2020.3 那些炫酷插件,超级好用那种

酷 三个插件都装上吧,相互补充 5、翻译插件 translation plugin 推荐指数:☆☆☆☆ 推荐理由:不能翻墙同学,请自行百度如何换为百度翻译。...6、打字效果 Power Mode II 装逼指数:☆☆☆☆☆ 推荐理由:这个就是美化,装逼用。喜欢可以试试,编码不再单调。火焰特效,抖动都可以单独关闭。...9、转换大小写CamelCase 或 UpperLowerCapitalize 推荐指数:☆☆☆☆☆ 推荐理由:快捷转换格式:大小写 驼峰,下划线 中划线 等等!...10、代码生成器 codehelper.generator 或者 GenerateAllSetter 推荐指数:☆☆☆☆☆ 推荐理由:每次对象搞set时候挨个set,有了它可以一键自动set 功能介绍...:生成器,可以更轻松,更高效地生成代码 GenAllSetter功能 单击GenAllSetter btn(支持快捷方式)时,将自动生成所有Setter方法(以set开头方法)。

86820

汇总一下 Intellij IDEA 炫酷插件

5、翻译插件 translation plugin 推荐指数:☆☆☆☆ 推荐理由:不能翻墙同学,请自行百度如何换为百度翻译。在ide中直接翻译,不需要跳转到网页了,效率神器! ?...6、打字效果 Power Mode II 装逼指数:☆☆☆☆☆ 推荐理由:这个就是美化,装逼用。喜欢可以试试,编码不再单调。火焰特效,抖动都可以单独关闭。留下重力碎屑就好了 ?...9、转换大小写CamelCase 或 UpperLowerCapitalize 推荐指数:☆☆☆☆☆ 推荐理由:快捷转换格式:大小写 驼峰,下划线 中划线 等等!...10、代码生成器 codehelper.generator 或者 GenerateAllSetter 推荐指数:☆☆☆☆☆ 推荐理由:每次对象搞set时候挨个set,有了它可以一键自动set 功能介绍...:生成器,可以更轻松,更高效地生成代码 GenAllSetter功能 单击GenAllSetter btn(支持快捷方式)时,将自动生成所有Setter方法(以set开头方法)。

1.6K20

用TS+GraphQL查询SpaceX火箭发射数据

TypeScript 通过为变量添加静态类型来扩展 JavaScript,从而减少了错误并提高了代码可读性。...如果你在学习过程中遇到困难,可以参考源代码(https://github.com/treyhuffine/graphql-react-typescript-spacex)或查看 live app(https...通过 GraphQL 代码生成器(https://github.com/dotansimha/graphql-code-generator),我们可以扫描 Web 应用目录中查询文件,并将它们与 GraphQL...我们能够编写与使用它们组件并存查询,并且 UI 能够准确地请求它要呈现内容。 在使用 REST API 时,我们所能找文档有可能不是最新。...如果你对什么地方还不清楚,可以在源代码中(https://github.com/treyhuffine/graphql-react-typescript-spacex)找到一个可行解决方案。

3K20

重温《Framework Design Guidelines》

常见被违反规范 今年升级一个核心代码从很久以前代码改写过来软件,各种不符合C#代码规范代码我感到难以维护;去年系统工程师退休前留给我们一个代码更是我受到会心一击。...但是微软自己框架中就一大堆啊?不过这些都不常用,给一般用户API最好还是要遵守这条规范。 要用肯定性短语(CanSeek不是CantSeek)来命名布尔属性。...我觉得dont-前缀真的挺常见,.NET Core源码里能搜出一大堆。无论如何我还是建议用肯定性短语,否定性短语人混淆。...现在我在处理遗留代码既使用数组作为属性,又可Get和Set,毕竟是从很久以前一路修改过来,当时开发者应该也没想到这些代码现在会人这么困扰吧。...无论是不是框架代码,把异常吞了做法都很让人困扰,除非有充分理由。 不要正常控制流中使用异常,如果能够避免的话。

1.2K41

Intellij IDEA常用牛逼插件总结

酷 三个插件都装上吧,相互补充 5、翻译插件 translation plugin 推荐指数:☆☆☆☆ 推荐理由:不能翻墙同学,请自行百度如何换为百度翻译。...6、打字效果 Power Mode II 装逼指数:☆☆☆☆☆ 推荐理由:这个就是美化,装逼用。喜欢可以试试,编码不再单调。火焰特效,抖动都可以单独关闭。...9、转换大小写CamelCase 或 UpperLowerCapitalize 推荐指数:☆☆☆☆☆ 推荐理由:快捷转换格式:大小写 驼峰,下划线 中划线 等等!...10、代码生成器 codehelper.generator 或者 GenerateAllSetter 推荐指数:☆☆☆☆☆ 推荐理由:每次对象搞set时候挨个set,有了它可以一键自动set 功能介绍...:生成器,可以更轻松,更高效地生成代码 GenAllSetter功能 单击GenAllSetter btn(支持快捷方式)时,将自动生成所有Setter方法(以set开头方法)。

1.4K20
领券