code-readability相关内容

if 语句过多

我有一些话题要讨论.我有一段代码,包含 24 个 ifs/elifs.Operation 是我自己的类,表示类似于 Enum 的功能. 这是一段代码: 如果操作 == Operation.START:策略 = strategy_objects.StartObject()elif 操作 == Operation.STOP:策略 = strategy_objects.StopObject()eli ..

如何在 Android Studio 中对齐/格式化代码?

是否有一种方法/快捷方式/内置功能可以对齐操作数的代码,例如“="符号? 例如,Xcode 有一个 XAlign (https://github.com/qfish/XAlign),允许用户选择需要对齐的代码并使用快捷方式自动对齐. Android Studio 中有一个 Fields Group 功能,可以“按列对齐",但它不适用于已编写的代码. 解决方案 Android S ..
发布时间:2021-11-21 20:41:35 Android

对于 JavaScript 事件代码中的回调和参数,使用匿名函数而不是命名函数有什么好处?

我是 JavaScript 新手.我了解该语言的许多概念,我一直在阅读原型继承模型,并且我正在用越来越多的交互式前端内容来吹口哨.这是一种有趣的语言,但我总是对许多非平凡交互模型的典型回调意大利面有点反感. 对我来说一直很奇怪的事情是,尽管 JavaScript 嵌套回调嵌套的可读性噩梦,但我在许多示例和教程中很少看到的一件事是使用预定义的命名函数作为回调论据.白天,我是一名 Java 程序 ..

代码格式:排列类似的行好吗?

我最近发现我们公司有一套编码指南(隐藏在一个没人能找到的文档管理系统中).它通常看起来很明智,并且避免了关于在哪里放置 '{' 以及是否使用硬制表符的常见宗教战争.但是,它确实表明“行不应该包含嵌入的多个空格".这意味着不要做这种事情: foo = 1;foob​​ar = 2;酒吧 = 3; 或者这个: if ( test_one ) 返回 1;否则如果(longer_test)返回2;否 ..

使Java代码中的大量数字更具可读性

是否有一种方法可以使大量数字(即1000000)在JS代码中更具可读性? 我知道在Ruby中您可以改写1_000_000,这使得在视觉上进行识别变得容易得多. 谢谢. 解决方案 在这种情况下,我通常使用乘法;在这种情况下,我将使用 1000 * 1000 .其他例子 1兆字节为1000 * 1024一小时(以毫秒为单位)为60 * 60 * 1000 等这与下划线表示法 ..
发布时间:2021-05-09 18:50:17 前端开发

Python有效地将货币符号和数字拆分为一个字符串

我有一个字符串,例如'$ 200,000,000'或'Yan300,000,000' 我想拆分货币和数字,并输出一个元组('$','200000000'),数字字符串中不包含','. 当前我正在使用以下脚本,该脚本正在运行: def splitCurrency(cur_str):cuttingIdx = 0对于cur_str中的char:尝试:int(字符)休息除了ValueErr ..
发布时间:2021-04-02 20:27:14 Python

Rails代码的可读性供我验证

该代码可以很好地检测重叠的日期,如果给定房间已经存在预订,则不保存预订。但是,我不得不扭曲代码使其起作用,因为验证会使控制器中的 update 无效,而不是 save 。因此,我想知道我的代码出了什么问题,因为通常无效的代码应该应用于保存而不是更新。 实际上,告诉我预订无法保存而不是抛出错误,它只是没有更新我的contoller中的booking.end_date,而它在保存而不是在我尝试更 ..
发布时间:2020-06-08 18:46:52 其他开发

可读性与性能

最近,我们在工作中讨论了局部变量对Java代码的性能与可读性的影响。我的一些同事认为这样的声明 new DoSomethingCmd(new SelectionContext(context,keys),infoStuff.getCurrentRole ().getRole_id())。execute(getResultContainer()); 将大大提高应用程序的性能 ..
发布时间:2020-06-08 18:46:50 Java开发

如何在Android Studio中对齐/格式化代码?

是否有一种方法/快捷方式/内置功能可以对齐操作数的代码,例如'='符号? 例如,有一个XAlign用于Xcode( https://github.com/qfish/XAlign ),允许用户选择需要对齐并使用快捷方式自动对齐。 Android Studio中有一个 Fields Group 功能,该功能可以“按列对齐”,但不适用于已编写的代码。 解决方案 Android St ..
发布时间:2020-06-08 18:46:47 其他开发

如何处理Pylint的“太多实例属性”信息?

我刚刚尝试用Pylint整理一些代码,最后剩下的错误是 R0902:太多了-实例属性(8/7) 我了解限制实例属性数量的基本原理,但是七个似乎有点低。我也意识到,短绒棉布应该没有硬道理。但是,我想知道我应该怎么做,而不是: def __init __(self,output_file = None,output_dir =无): “”“ 设置frobnicato ..

研究最佳代码宽度?

如果在所选的IDE中启用“查看右页边距”,则可能默认为80个字符。我倾向于将其更改为120,无非是几年前我所在公司的标准,并且没有其他公司告诉我要不同地使用它。 我的问题是,是否有任何研究表明80个字符实际上是代码可读性的最佳最大宽度,还是这个值仅仅是“这就是它一直存在的方式”,没有人真正知道为什么是这样道路?而且,一行代码的宽度是否应该成为您的编码标准的一部分? 解决方案 实际上, ..
发布时间:2020-06-08 18:46:43 其他开发

从导入,同时保留按模块的访问

标题有点难以理解,但是我的问题很简单。 我有一个程序需要使用 sqrt( ),但这是我从数学中唯一需要的东西。导入整个模块以获取单个功能似乎有点浪费。 我可以说来自数学导入sqrt的 ,但随后是 sqrt()将被添加到程序的主命名空间中,而我不希望这样做(尤其是因为我计划将程序更改为可用作模块;在这种情况下那样导入会导致问题吗?)。有什么方法可以只导入一个函数,同时仍然保留 math. ..
发布时间:2020-06-08 18:46:38 Python

对于JavaScript事件代码中的回调和参数,使用匿名函数代替命名函数有什么好处?

我是JavaScript新手。我了解该语言的许多概念,我一直在阅读原型继承模型,并且正在与越来越多的交互式前端事物打交道。这是一种有趣的语言,但是我总是对很多非平凡的交​​互模型所特有的回调意大利面有点不满意。 似乎总是很奇怪的东西对我来说,尽管是一堆JavaScript嵌套回调的可读性噩梦,但在许多示例和教程中我很少看到的一件事是使用预定义的命名函数作为回调参数。我每天都是Java程序员, ..

代码是针对计算机还是针对人员?

最终,代码最终被编译为最终的CPU指令。但是,代码(以我的拙见)是供人类阅读,更新和交互的。这使我得出以下观察结果: 其他工程师无法读取的代码(即使其功能正常)也是错误的代码。 牢记这一点,该程序员可以做什么以使代码更容易被人阅读? 命名约定? (Joel在这方面有很多话要说) 代码结构/布局? (请出于对上帝的爱,不要参与 {安置辩论) 短语? (是否有可能编写看起 ..
发布时间:2020-06-08 18:46:34 其他开发

`if key in dict`与`try / except`-哪个更易读?

我有一个关于成语和可读性的问题,在这种情况下似乎存在Python哲学冲突: 我想从字典构建字典A B.如果B中不存在特定的键,则什么也不做,然后继续。 哪种方法更好? try: A [“ blah”] = B [“ blah”] ,除了KeyError: pass 或 B中的“ blah”: A [“ blah”] = B [“ blah”] ..
发布时间:2020-06-08 18:46:32 Python

一种测试期权价值的更好方法?

我经常发现自己的Option[T]类型为T,并且希望针对某个值测试选项的值.例如: val opt = Some("oxbow") if (opt.isDefined && opt.get == "lakes") //do something 以下代码是等效的,删除了测试选项值的存在性的要求 if (opt.map(_ == "lakes").getOrElse(false ..
发布时间:2020-05-21 21:38:43 其他开发

Python列表理解-希望避免重复评估

我的列表理解近似为: [f(x) for x in l if f(x)] 其中l是列表,而f(x)是返回列表的昂贵函数. 我想避免对f(x)的每个非空出现两次评估f(x).有什么方法可以将其输出保存在列表推导中? 我可以删除最终条件,生成整个列表,然后修剪它,但这似乎很浪费. 修改: 已提出两种基本方法: 内部生成器理解: [y for y in (f ..
发布时间:2020-05-02 09:17:57 Python