问题标签 [code-readability]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何使这段代码更具可读性
这是 php 代码的一部分,它使用 contentArray,它是一个 JSON,并为用户生成 UI,它生成 html 标签,而且,它也生成 js 代码......它可以工作,但我认为代码很难阅读和维护,有什么想法吗???谢谢你。
php - 如何为输入验证编写可读的 If 语句?
我遇到了愚蠢的问题,但仍然存在重大问题。我正在为类似“注册”的页面创建验证。我需要检查输入的值是否无害并且符合我的需要。感谢 Fuel 框架,这很容易。下一步...我还需要检查用户名或电子邮件是否未被占用。我已经编写了可以完成这项工作的方法。但是当我需要编写所有“if 语句”时,我的问题就来了。
这正是我现在所拥有的。我不确定这是正确的方法。我可以用“如果”和很多级别(我猜是嵌套)来写它。我可以在那里使用“if/else..if”。你会用什么?
换句话说,我的目标是:
1) 检查输入的内容是否有害且符合我的需要 ( $validation->run()
),
2) 一步一步……用户名不是已经被占用了吗(usernameExists()
)?
3) 电子邮件不是已经被占用了吗(emailExists()
)?
4) 可能还有更多...
例如,如果步骤#1 为假,应用程序不需要进一步执行步骤#2。之后我需要包含错误消息的字符串,但是,你知道,每个步骤的消息都是不同的。然后我可以传递消息来显示它(如果有消息)!当然,我可以编写有效的代码,但我正在寻找最佳实践……我必须遵循 DRY(不要重复自己)和 KISS(保持简单,愚蠢!)原则来保持我的代码可读且易于理解和维护。
python - Python Shelve 模块内存消耗
我被分配了读取 .txt 文件的任务,该文件是各种事件的日志,并将其中一些事件写入字典。
问题是文件有时会变得超过 3GB。这意味着字典变得太大而无法放入主存储器。看来Shelve是解决这个问题的好方法。但是,由于我将不断修改字典,因此我必须writeback
启用该选项。这是我关心的地方 - 教程说这会减慢读/写过程并使用更多内存,但我无法找到有关速度和内存如何受到影响的统计数据。
任何人都可以澄清读/写速度和内存受到了多少影响,以便我可以决定是使用写回选项还是牺牲一些可读性来提高代码效率?
谢谢
c# - 三元操作员和维护
程序员 A 只是喜欢一些三元运算符,尤其是嵌套运算符。更好的是,他声称它们使代码更易于阅读和维护,因为它们可以放在更少的行上。程序员 B 认为,当三元组嵌套时,可读性会丢失,进而代码变得更难维护。
查看下面的块:
其他人如何看待这两种思想流派?最好的方法是什么?
编辑:有更好的方法吗?
php - 用关系抓取数据。1 个大查询或几个小查询
假设我有一个像这样的表结构
我想获取所有用户元数据
对图像中的所有表进行大查询会更好吗...
...
...或将它们分解为较小的查询,例如...
我认为如果我采用第一种方法,“机器”性能会更快,但对开发人员性能不利?更难阅读,更多代码将查询解析为 PHP 对象?
html - 如何避免换行填充?
我对 HTML 最大的不满是换行符在元素之间增加了一点点空间。(jsFiddle。)
这可能会破坏子元素的大小以完全适合其父元素的布局。
我在某处读到,您可以通过使用如下注释删除此隐式填充 - 同时仍保持代码清晰易读:
这行得通,但我觉得必须有更好的解决方案。还有哪些其他方法可以解决换行符填充?
python - 在优化的同时保持代码可读性
我正在用 Python 和 C 编写一个带有一些复杂物理模拟算法的科学程序。在实现算法之后,我发现有很多可能的优化来提高性能。常见的是预先计算值,使计算脱离循环,用更复杂的矩阵算法替换简单的矩阵算法等。但是出现了一个问题。未经优化的算法要慢得多,但它的逻辑和与理论的联系看起来更加清晰易读。此外,扩展和修改优化算法也更加困难。
所以,问题是——在提高性能的同时,我应该使用什么技术来保持可读性?现在我试图保持快速和清晰的分支并并行开发它们,但也许有更好的方法?
c# - 我应该如何处理 using 块中的空对象?
鉴于这样的情况:
我想避免嵌套的 if。可悲的是,明显的解决方案是不可能的,因为 break 不适用于使用:
是否有一种模式仍然可以避免由if != null
?
formatting - 格式化长链方法的最佳方法是什么?
使用链式方法格式化代码的最佳方法是什么?特别是如果它持续很长时间?如果你有一个三个左右的链,你可以把它放在一条线上,但是当你有很多之后它会变得很麻烦,并且很难调试。
仅供参考,我说的是这个: http ://en.wikipedia.org/wiki/Method_chaining
有时我会写这样的代码(在 Java 中):
代替:
coding-style - 关于空白的实验研究结果(用于语言设计和风格指南)?
实验研究对代码中的空白有何看法?让我具体一点:我说的是认知研究,它比较人们阅读和掌握不同格式的视觉信息的速度和效率。
假设您正在设计一种新的计算机语言,并且必须做出一些影响源代码外观的决定。或者您只是在为一门新语言编写风格指南并想提出建议。相关主题可能是标识符样式(snake_cased_identifiers 与 camelCaseIdentifiers / PascalCaseIdentifiers)、水平缩进、文档样式或垂直间距。
我故意以这种方式提出这个问题,以避免诸如以下建议:
- “没关系(没有正当理由)”
- “做社区已经推荐的语言 X。”
我不希望支持不同方法的人之间发生激烈的战争;相反,我想知道实验研究对此事有何看法。(而且我不认为任何特定的研究一定是完全“客观的”或“中立的”。)
为这个问题提供一个“模糊”的动机:人们在阅读文档和艺术(例如听音乐)时欣赏代码中的空白。这些领域都非常强调空间的重要性。
所以,谢谢,我很高兴听到这些研究怎么说。需要明确的是,我并不排除风格和艺术的重要性——我实际上希望这些世界的智慧能够在实验研究中出现。
总之,如果可以,请触摸以下一项或多项:
- 变量命名约定
- 水平缩进
- 水平对齐(跨多行对齐等号?)
- 垂直间距