问题标签 [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 投票
10 回答
1075 浏览

java - Java:将外国恐怖代码转换为干净 API 的最佳实践......?

我有一个项目(与图形算法有关)。是别人写的。

代码很可怕:

  • 公共领域,没有 getter/setter
  • 巨大的方法,全部公开
  • 一些类有超过 20 个字段
  • 一些类有超过 5 个构造函数(它们也很大)
  • 其中一些构造函数只留下许多字段null
    (所以我不能使某些字段成为最终字段,因为每隔一个构造函数都会发出错误信号)
  • 方法和类在两个方向上相互依赖

我必须把它改写成一个干净易懂的 API。

问题是:我自己不理解这段代码中的任何内容。

请给我一些关于分析和理解此类代码的提示。

我在想,也许有一些工具可以执行静态代码分析并给我调用图之类的东西。

0 投票
6 回答
407 浏览

java - 在 Java 中使用“\\\\”将 '\' 与 Regex 匹配是最易读的方式吗?

我知道以下内容有效,但可读性不强,有没有办法在不添加注释的情况下使其在代码本身中更具可读性?

0 投票
7 回答
324 浏览

c# - 减少重复代码

我有一些适用于这样的颜色结构的代码

现在我需要创建一个方法来根据传递的内容更改不同的变量。这是代码现在的样子。

现在,这是我通常不会质疑的问题,我只是在它周围抛出一个#region 语句并称之为一天,但这只是我所拥有的一个例子,实际函数很长。

我希望它看起来像这样:

所以本质上该值将引用正在使用的变量。有这个名字吗?这就是反射的用途吗?或类似的东西......有没有办法做到这一点?

0 投票
6 回答
438 浏览

java - if-else结构

我有这些长语句,我将在这里称为 x,y 等。我的条件语句的结构是这样的:

有没有更好、更短的方法来写这个东西?谢谢

0 投票
21 回答
45495 浏览

c++ - “for(;;)”比“while (true)”快吗?如果不是,人们为什么要使用它?

我见过这种东西用了很多,但我觉得它很奇怪......说起来会不会更清楚while(true),或者类似的东西?

我猜想(这也是许多程序员求助于神秘代码的原因)这是一个很小的差距吗?

为什么,真的值得吗?如果是这样,为什么不这样定义:

另请参阅:哪个更快:while(1) 或 while(2)?

0 投票
7 回答
8255 浏览

java - java try 块的范围是否应该尽可能紧密?

有人告诉我,使用 Java 的 try-catch 机制会产生一些开销。因此,虽然有必要将抛出已检查异常的方法放在 try 块中以处理可能的异常,但在性能方面最好限制 try 块的大小以仅包含可能抛出异常的那些操作。

我不太确定这是一个明智的结论。

考虑以下两个处理指定文本文件的函数的实现。

即使第一个确实会产生一些不必要的开销,我发现它更容易理解。仅通过查看语句就不太清楚异常究竟来自何处,但评论清楚地表明了哪些语句是负责任的。

第二个比第一个更长更复杂。特别是,第一个漂亮的行阅读习惯必须被破坏以使readLine调用适合 try 块。

在定义中可能引发多个异常的函数中处理异常的最佳实践是什么?

这一个包含 try 块中的所有处理代码:

这个仅包含在 try 块中引发异常的方法:

0 投票
2 回答
83 浏览

c#-3.0 - 请帮我将此 C# 2.0 片段转换为 Linq

这不是家庭作业;)我需要 A)优化以下代码(在 TODO 和 ~TODO 之间)和 B)将其转换为 [P]Linq。需要更好的可读性。分别提供 A) 和 B) 的答案可能是有意义的。谢谢!

PS看看我的另一个赏金问题。

0 投票
3 回答
79 浏览

c# - 直接从控件读取字符串而不是将其移动到变量中是否有任何显着的好处?

鉴于上面的代码......如果我不需要将文本框数据移动到字符串变量中,最好直接从控件中读取数据吗?

在性能方面,不创建任何不必要的变量似乎是最聪明的,如果不需要的话,这些变量会耗尽内存。还是这种情况在技术上是正确的,但由于相关数据的大小而不会产生任何真实世界的结果。

原谅我,我知道这是一个非常基本的问题。

0 投票
2 回答
359 浏览

.net - 将 LINQ 中的链式 Select() 断开到对象是否会损害性能?

采用以下伪 C# 代码:

如果两个 Select() 调用结合起来会更快吗?上面的代码中是否有额外的迭代?下面的代码更快吗?

如果性能没有差异,我认为第一个示例更具可读性。

0 投票
3 回答
1292 浏览

java - 如何使从其他代码调用的长 SQL 可读?

这是一个非常开放的问题,但我认为它对 SQL 的可读性非常有益。

因此,您有一个 Java 程序,并且您正试图从中调用一个巨大的 SQL 语句,其中包含许多子查询和连接。我的问题的起点是这样的字符串常量:

它稍后会使用 String.format 填充并执行。

你有什么技巧可以让这种东西变得可读?你分开你的内部连接。您是否在字符串中缩进 SQL 本身?你把评论放在哪里?请分享您的武器库中的所有技巧。