你会如何在评论中描述数学?

时间:2009-05-04 08:43:57

标签: .net math comments

正如问题所说......

在数学表示形式中,等式可能比在代码中更有意义。能够将数学放在评论中可以提高我的项目的可读性。

在.NET btw。

9 个答案:

答案 0 :(得分:12)

我只使用多行来做到这一点:

// Work out average as:  sum (values)
//                      --------------
//                      count (values)
//
// and distance between points as:
//           _______________________
//          /         2            2
//    d = \/ (x1 - x0)  + (y1 - y0)
//
// and the following function:
//
//             3     2   
//    f(x) = ax  + bx  + cx + d

根本不需要魔法。你不喜欢ASCII艺术吗?

答案 1 :(得分:7)

跟进@ pax的答案,使用ascii-art / plain文本来渲染你的方程式(顺便说一句,+ px):

以下是数学相关字符的快捷键快速列表:

°(度) - Alt + 0176

±(加/减) - Alt + 0177

²(平方) - Alt + 0178

³(立方) - Alt + 0179

¼(1/4) - Alt + 0188

½(1/2) - Alt + 0189

¾(3/4) - Alt + 0190

答案 2 :(得分:6)

我使用乳胶:如果它很简单你无论如何都能看到它,如果它很复杂 - 将它剪切并粘贴在最近的wordpress窗口中,大多数时候它们都能正确解析。

答案 3 :(得分:4)

对于简单的评论,我通常使用LaTeX或Word的语法。但通常是Word,因为e。 G。 β比\beta更具可读性。由于我的源文件通常是Unicode,因此不会造成问题。此外,我不喜欢围绕一切的太多括号: - )

有时候我对Javadoc感到厌倦并使用大量的HTML来获取Javadoc中的公式,但这并没有帮助提高源代码的可读性(并且利用了Javadoc 构建为HTML的事实,没有运气在.NET这里。)

我已经将Pax的样本写成

// Work out average as:
//   ∑(values)/|values|
// and distance between points as:
//   d = √( (x_1 - x_0)²  + (y_1 - y_0)² )
// and the following function:
//   f(x) = ax³  + bx²  + cx + d

我很少使用Unicode下标,因为它们不是所有字体,特别是那些不适合代码的字体:)

答案 4 :(得分:3)

你知道吗,这将是ScottGu在最后一个PDC上展示的Visual Studio可扩展性的一个很棒的应用程序(在那里他写了一个MEF插件来以不同的方式显示注释)。

您可以使用MathML编写数学注释,然后打开一个解析标记的插件,并将其显示为正确的等式。

这更像是一个空白的评论,而不是对你的问题的真实答案,但我想我会发布它以让人们思考。也许某人有一天会这样做! :)

答案 5 :(得分:3)

这是对Matt帖子的评论,但我的声誉太低了。我为LaTex做了类似的事情。它是一个Sandcastle构建组件,用于解析嵌入在XML注释中的LaTeX,并创建添加回文档的图像。它是围绕mimeTeX的简单包装器。您可以在http://github.com/cuda/latex-sandcastle/

中看到alpha代码

答案 6 :(得分:1)

对我来说,理解复杂数学问题的最简单方法是插入一些实数并遵循它。阅读它的工作方式是不够的,除非我只是提醒自己它的作用。

使用Nunit测试非常适合提供有关如何使用复杂数学问题的实际示例。也许只是使用评论指出他们可以通过单元测试以及在哪里找到它们。

答案 7 :(得分:1)

为了使数学公式的ASCII呈现更容易,有asciiTeX。 ascii TeXT接受LaTeX风格的方程式并以ASCII艺术打印出来。

答案 8 :(得分:0)

请记住您的受众群体。从现在起到现在和将来(现在和将来)的队友,评论必须对你有意义。因此,如果数学符号对你们所有人来说都是完全可以理解的,那么这可能会很好;但是,由于我不知道谁会阅读该评论,我会添加一个文字表示或描述。