五大代码异味:你需要提高警惕了( 二 )
names =[''A'',''B'',''C''][x.lower() for x in names]#use this list(map(str.lower, names))
· 在实际不存储时使用列表解析
列表解析有助于轻松定义和创建列表 , 但它们始终存储于内存中 。 如果不使用系统进程 , 将有可能损害大数量的数据 。 因此 , 使用生成器表达式是更好的选择 , 因为它按需一次加载一个值 。
嵌套分析也需要关注 , 因为这可能导致可读性问题 , 知道什么时候使用它 , 什么时候回退到for循环上是很重要的 。
喜欢布尔标志参数和全局变量
布尔是最容易学习的数据类型 。 在Python中 , 提供命名参数使工作轻松得多 。 但是 , 它们很容易产生嵌套if else块的复杂代码并导致可读性问题 。 多个布尔存在隐藏的依赖关系 , 会产生一些问题 。 因而最好使用枚举 , 而不是多布尔逻辑 。 Enum数据类型是可扩展的 , 可以确保更好的代码结构 。
全局变量在所有语言中都是麻烦的 , Python也是如此 。 虽然有时我们确实需要使用它们 , 但将其误用作传递或访问数据的快捷方式可能很危险 , 因为它可变 。
跟踪它的状态会很棘手 , 因为你永远不知道谁可能会改变它 。 如果开始到处使用全局变量 , 命名冲突则会导致命名空间受到不好的影响 。
本文插图
图源:unsplash
我们都见过代码异味 , 神秘的注释、多余的字符串文字和神奇的数字也算代码异味 。 在编写注释时 , 重要的是要说明“为什么”部分 , 因为“什么”部分应该从代码本身得到解释 。
你得学会快速定位到代码异味并将其去除 。
本文插图
留言点赞关注
我们一起分享AI学习与发展的干货
【五大代码异味:你需要提高警惕了】如转载 , 请后台留言 , 遵守转载规范
推荐阅读
- 【】体坛观察丨仓促收官的五大联赛,短暂却不失精彩
- 体坛小跟班|莱万最冤,梅西第五,C罗让人意外,五大联赛射手榜去掉点球
- 封面新闻|30秒|欧洲五大联赛全部结束 8月8日静待欧冠
- 中储粮|邻居闻到出租屋里传出异味,房东进屋发现年轻情侣已经死亡多日
- 第五大道|大规模示威持续不止,政坛常青树的陨落:卢卡申科遭遇信任危机
- 第五大道|多处哨所被摧毁,边境再现激烈交火!印军阵地遭大口径炮火覆盖
- 江苏卫视|每一幕都让人念念不忘,本季《最强大脑》五大意难平场面
- 代古龙|西甲149粒,1队赛季0点球,五大联赛点球数排名:意甲187粒
- 代古龙|C罗第3梅西第5名,19/20赛季五大联赛射手榜:因莫比莱称王
- 轻拔琴弦|Reactor如何规定,混淆保护需正确命名!看.NET代码保护工具.NET
