问题标签 [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.

0 投票
7 回答
291 浏览

javascript - 让一个返回另一个函数的逆函数的函数值得付出努力吗?

我最近在我们的内部 javascript 库中添加了一个 HasValue 函数:

A 在与同事的交谈中,我们提出了添加另一个基本上只是相反的函数的想法:也许 HasNoValue 或 IsNothing 如果我们最终这样做,我们将拥有:

但是,我们不确定两者兼有或 HasValue 是否更具可读性。哪个更易读/更受欢迎?

A:

乙:

0 投票
13 回答
30112 浏览

python - 代码可读性的最佳标签大小

除了个人喜好,是否有最佳的标签大小(2 个空格?3 个空格?8 个空格?)以提高代码的可读性?在我从事的不同项目中,人们似乎有截然不同的标准。我似乎无法阅读 2 个空格缩进,但像 Google 这样的公司使用它作为标准。

任何人都可以为标签的最佳大小指出文档、研究或有充分理由的论据吗?

如果我们想具体一点,我主要在 python 中工作。这个问题的目的是为我工作的团队选择一个标准。

0 投票
3 回答
95 浏览

java - 简单但反复出现的命名问题

假设我们有一个方法:

我想知道现在称为“birthayDateString”的字符串的最佳名称是什么。此字符串表示转换为文本的日期。我不能把它命名为“生日”,因为这个名字已经被使用了。将其命名为“birthdayString”或“birthdayDateString”是否违反了一些命名约定的良好实践规则?

0 投票
12 回答
346 浏览

sql - 拥有一个包含同名列的 SQL 表是不好的编码习惯吗?

例子:

这可能会导致查询如下所示:

0 投票
2 回答
2412 浏览

c# - 使用委托而不是接口进行解耦。好主意?

在编写 GUI 应用程序时,我使用“控制”或“协调”应用程序的顶级类。顶级类将负责协调诸如初始化网络连接、处理应用程序范围的 UI 操作、加载配置文件等事情。

在 GUI 应用程序的某些阶段,控件被移交给不同的类,例如,一旦用户进行身份验证,主控件就会从登录屏幕切换到数据输入屏幕。不同的类需要使用顶层控件所拥有的对象的功能。过去我会简单地将对象传递给从属控件或创建一个界面。最近我已经改为传递方法委托而不是整个对象,主要原因有两个:

  • 单元测试时模拟方法比模拟类容易得多,
  • 它通过在类构造函数中准确记录下级类正在使用哪些方法,使代码更具可读性。

一些简化的示例代码如下:

我的问题是,虽然我更喜欢这种方法,而且这对我来说很有意义,但下一个开发人员如何找到它?在示例和开源 C# 代码中,接口是解耦的首选方法,而这种使用委托的方法更倾向于函数式编程。我是否可能让后续开发人员低声咒骂什么是违反直觉的方法?

0 投票
3 回答
1985 浏览

python - 在 Python 中读取“原始”Unicode 字符串

我对 Python 很陌生,所以我的问题可能很愚蠢,但即使阅读了很多线程,我也没有找到问题的答案。

我有一个混合源文档,其中包含 html、xml、latex 和其他文本格式,并且我尝试将其转换为纯乳胶格式。

因此,我使用 python 将不同的命令识别为正则表达式,并用适当的 latex 命令替换它们。到目前为止,一切都很好。

现在我留下了一些“原始类型”的 Unicode 符号,例如希腊字母。不幸的是,手工完成的工作太多了。因此,我也在寻找一种聪明的方法来做到这一点。Python有没有办法识别/读取它们?我如何告诉 python 识别/读取例如 Pi 写成希腊字母?

我使用的代码的一个最小示例是:

我不确定这是否是重要信息,但我使用的是在 Windows 上运行的 Python 2.6。

如果有人可以给我提示,我会非常高兴,至少在哪里可以找到相关信息或这可能如何工作。或者我是否完全错了,Python无法完成这项工作......

提前谢谢了。
干杯,
布丽塔

0 投票
8 回答
1314 浏览

java - 帮助以更好的方式从 Java 中的字符串中解析数字

我有一个包含数字和字母的字符串。我希望将字符串拆分为连续的数字块和连续的字母块。

考虑字符串“34A312O5M444123A”。

我想输出:[“34”,“A”,“312”,“O”,“5”,“M”,“444123”,“A”]

我有有效的代码,看起来像:

我考虑将 str 拆分两次以获得一个包含所有数字块的数组和一个包含所有字母块的数组。然后合并结果。我回避了这一点,因为它会损害可读性。

我故意避免使用正则表达式模式来解决这个问题,因为我发现正则表达式模式是可读性的主要障碍。

  • 调试器不能很好地处理它们。
  • 它们打断了阅读源代码的人的流程。
  • 加班正则表达式有机地成长并成为怪物。
  • 它们非常不直观。

我的问题是:

  • 如何提高上述代码的可读性?
  • 有一个更好的方法吗?一个优雅地解决这个问题的 Util 类。
  • 您在使用正则表达式和编写类似于我上面所写内容的代码之间划清界限?
  • 您如何提高正则表达式的可读性/可维护性?
0 投票
2 回答
22164 浏览

ruby - Ruby 中的隐式返回值

我对 Ruby 有点陌生,虽然我发现它是一种非常直观的语言,但我很难理解隐式返回值的行为方式。

我正在开发一个小程序来 grep Tomcat 日志并从相关数据生成管道分隔的 CSV 文件。这是我用来从日志条目生成行的简化示例。

当我运行此代码时,我会返回以下内容,这是显式返回输出值时所期望的。

但是,如果我将 LineMatcher 更改为以下内容并且不明确返回输出:

然后我得到以下结果:

显然,这不是我们想要的结果。感觉我应该能够摆脱输出变量,但不清楚返回值来自哪里。此外,欢迎任何其他关于可读性的建议/改进。

0 投票
4 回答
2987 浏览

php - Flesch-Kincaid 可读性:改进 PHP 功能

我编写了这个 PHP 代码来实现 Flesch-Kincaid 可读性分数作为一个函数:

您对如何改进代码有什么建议吗?这是正确的吗?它会起作用吗?

我希望你能帮助我。提前致谢!

0 投票
11 回答
34288 浏览

colors - 对于可读性、易用性和减少眼睛疲劳的最佳颜色组合是什么?

我正在尝试为新网站项目挑选最佳颜色集。

我想为主要内容做一个传统的黑白外观。然而,我的项目合作伙伴想要做一个更像传统 Windows 窗体外观和感觉的颜色组合。

是否有任何关于最佳颜色组合的研究可用于提高可读性、易用性和减少眼睛疲劳?