code-readability相关内容
我有一些话题要讨论.我有一段代码,包含 24 个 ifs/elifs.Operation 是我自己的类,表示类似于 Enum 的功能. 这是一段代码: 如果操作 == Operation.START:策略 = strategy_objects.StartObject()elif 操作 == Operation.STOP:策略 = strategy_objects.StopObject()eli
..
考虑这一行: if (object.getAttribute("someAttr").equals("true")) {//.... 显然这一行是一个潜在的错误,属性可能是null,我们将得到一个NullPointerException.因此,我们需要将其重构为以下两种选择之一: 第一个选项: if ("true".equals(object.getAttribute("someAtt
..
我有一些话题要讨论.我有一个带有 24 个 ifs/elifs 的代码片段.Operation 是我自己的类,表示类似于 Enum 的功能. 这是一段代码: if operation == Operation.START:策略 = strategy_objects.StartObject()elif 操作 == Operation.STOP:策略 = strategy_objects.Stop
..
是否有一种方法/快捷方式/内置功能可以对齐操作数的代码,例如“="符号? 例如,Xcode 有一个 XAlign (https://github.com/qfish/XAlign),允许用户选择需要对齐的代码并使用快捷方式自动对齐. Android Studio 中有一个 Fields Group 功能,可以“按列对齐",但它不适用于已编写的代码. 解决方案 Android S
..
我是 JavaScript 新手.我了解该语言的许多概念,我一直在阅读原型继承模型,并且我正在用越来越多的交互式前端内容来吹口哨.这是一种有趣的语言,但我总是对许多非平凡交互模型的典型回调意大利面有点反感. 对我来说一直很奇怪的事情是,尽管 JavaScript 嵌套回调嵌套的可读性噩梦,但我在许多示例和教程中很少看到的一件事是使用预定义的命名函数作为回调论据.白天,我是一名 Java 程序
..
我最近发现我们公司有一套编码指南(隐藏在一个没人能找到的文档管理系统中).它通常看起来很明智,并且避免了关于在哪里放置 '{' 以及是否使用硬制表符的常见宗教战争.但是,它确实表明“行不应该包含嵌入的多个空格".这意味着不要做这种事情: foo = 1;foobar = 2;酒吧 = 3; 或者这个: if ( test_one ) 返回 1;否则如果(longer_test)返回2;否
..
是否有一种方法可以使大量数字(即1000000)在JS代码中更具可读性? 我知道在Ruby中您可以改写1_000_000,这使得在视觉上进行识别变得容易得多. 谢谢. 解决方案 在这种情况下,我通常使用乘法;在这种情况下,我将使用 1000 * 1000 .其他例子 1兆字节为1000 * 1024一小时(以毫秒为单位)为60 * 60 * 1000 等这与下划线表示法
..
我有一个字符串,例如'$ 200,000,000'或'Yan300,000,000' 我想拆分货币和数字,并输出一个元组('$','200000000'),数字字符串中不包含','. 当前我正在使用以下脚本,该脚本正在运行: def splitCurrency(cur_str):cuttingIdx = 0对于cur_str中的char:尝试:int(字符)休息除了ValueErr
..
该代码可以很好地检测重叠的日期,如果给定房间已经存在预订,则不保存预订。但是,我不得不扭曲代码使其起作用,因为验证会使控制器中的 update 无效,而不是 save 。因此,我想知道我的代码出了什么问题,因为通常无效的代码应该应用于保存而不是更新。 实际上,告诉我预订无法保存而不是抛出错误,它只是没有更新我的contoller中的booking.end_date,而它在保存而不是在我尝试更
..
最近,我们在工作中讨论了局部变量对Java代码的性能与可读性的影响。我的一些同事认为这样的声明 new DoSomethingCmd(new SelectionContext(context,keys),infoStuff.getCurrentRole ().getRole_id())。execute(getResultContainer()); 将大大提高应用程序的性能
..
是否有一种方法/快捷方式/内置功能可以对齐操作数的代码,例如'='符号? 例如,有一个XAlign用于Xcode( https://github.com/qfish/XAlign ),允许用户选择需要对齐并使用快捷方式自动对齐。 Android Studio中有一个 Fields Group 功能,该功能可以“按列对齐”,但不适用于已编写的代码。 解决方案 Android St
..
我刚刚尝试用Pylint整理一些代码,最后剩下的错误是 R0902:太多了-实例属性(8/7) 我了解限制实例属性数量的基本原理,但是七个似乎有点低。我也意识到,短绒棉布应该没有硬道理。但是,我想知道我应该怎么做,而不是: def __init __(self,output_file = None,output_dir =无): “”“ 设置frobnicato
..
如果在所选的IDE中启用“查看右页边距”,则可能默认为80个字符。我倾向于将其更改为120,无非是几年前我所在公司的标准,并且没有其他公司告诉我要不同地使用它。 我的问题是,是否有任何研究表明80个字符实际上是代码可读性的最佳最大宽度,还是这个值仅仅是“这就是它一直存在的方式”,没有人真正知道为什么是这样道路?而且,一行代码的宽度是否应该成为您的编码标准的一部分? 解决方案 实际上,
..
标题有点难以理解,但是我的问题很简单。 我有一个程序需要使用 sqrt( ),但这是我从数学中唯一需要的东西。导入整个模块以获取单个功能似乎有点浪费。 我可以说来自数学导入sqrt的 ,但随后是 sqrt()将被添加到程序的主命名空间中,而我不希望这样做(尤其是因为我计划将程序更改为可用作模块;在这种情况下那样导入会导致问题吗?)。有什么方法可以只导入一个函数,同时仍然保留 math.
..
我是JavaScript新手。我了解该语言的许多概念,我一直在阅读原型继承模型,并且正在与越来越多的交互式前端事物打交道。这是一种有趣的语言,但是我总是对很多非平凡的交互模型所特有的回调意大利面有点不满意。 似乎总是很奇怪的东西对我来说,尽管是一堆JavaScript嵌套回调的可读性噩梦,但在许多示例和教程中我很少看到的一件事是使用预定义的命名函数作为回调参数。我每天都是Java程序员,
..
最终,代码最终被编译为最终的CPU指令。但是,代码(以我的拙见)是供人类阅读,更新和交互的。这使我得出以下观察结果: 其他工程师无法读取的代码(即使其功能正常)也是错误的代码。 牢记这一点,该程序员可以做什么以使代码更容易被人阅读? 命名约定? (Joel在这方面有很多话要说) 代码结构/布局? (请出于对上帝的爱,不要参与 {安置辩论) 短语? (是否有可能编写看起
..
我有一个关于成语和可读性的问题,在这种情况下似乎存在Python哲学冲突: 我想从字典构建字典A B.如果B中不存在特定的键,则什么也不做,然后继续。 哪种方法更好? try: A [“ blah”] = B [“ blah”] ,除了KeyError: pass 或 B中的“ blah”: A [“ blah”] = B [“ blah”]
..
我经常发现自己的Option[T]类型为T,并且希望针对某个值测试选项的值.例如: val opt = Some("oxbow") if (opt.isDefined && opt.get == "lakes") //do something 以下代码是等效的,删除了测试选项值的存在性的要求 if (opt.map(_ == "lakes").getOrElse(false
..
我的列表理解近似为: [f(x) for x in l if f(x)] 其中l是列表,而f(x)是返回列表的昂贵函数. 我想避免对f(x)的每个非空出现两次评估f(x).有什么方法可以将其输出保存在列表推导中? 我可以删除最终条件,生成整个列表,然后修剪它,但这似乎很浪费. 修改: 已提出两种基本方法: 内部生成器理解: [y for y in (f
..
下面的代码提供了两种生成整数对的方法,它们的总和小于100,并且根据它们与(0,0)的距离以降序排列. //approach 1 private static IEnumerable> ProduceIndices3() { var storage = new List>();
..