4

我正在寻找快速有效的方法来拆分代码并将其准备好供媒体使用。我在为 coder 杂志工作,为新闻准备代码总是一个大问题,因为一栏中的空间是有限的。现在我是手动做的,非常烦人。让我给你举个例子。这是我现在正在处理的代码(已经以我自己的风格格式化/吐出),它适用于 Android:

private void GetFiles() {
  listBox1.Items.Clear();
  var storeFile = IsolatedStorageFile. 
    GetUserStoreForApplication();
  string fileString = System.IO.Path.GetFileName("*");
  string[] files = storeFile.GetFileNames("*");
  for (int i = 0; i < storeFile.GetFileNames("/" + 
      fileString).Length; i++) {
    String fileName = storeFile.GetFileNames(fileString)[i];
    String ext = fileName.Substring(fileName.Length - 3);
    if (ext == "png") listBox1.Items.Add(fileName);

} }

注意

var storeFile = IsolatedStorageFile. 
    GetUserStoreForApplication();

是一条线。对于 press 列来说它太长了,这就是为什么我用最近的逻辑中断(这里 - 点)分割并将行的第二部分缩进 4 个空格(内联总是缩进 2 个空格)。我知道,这不是最好的方法,很难理解。这就是为什么我正在寻找来自广泛软件开发人员的权威答案。我不仅要使用 C++ 代码,还要使用 Assembler、JavaScript、Ruby 和 Python。最后一个是一个单独的问题——它依赖于缩进,所以我必须特别小心缩进。

那么,问题来了:在杂志有限的空间内,哪种方式最好格式化代码?更喜欢哪种方式?请提出你自己的想法。每个答案都受到高度赞赏。

UPD:这是它现在在杂志上的样子:当前外观。它可以帮助您理解问题。太长的行被“\”分割,行的最后一部分缩进。不太明显,不是吗?=(

4

2 回答 2

3

Why don't you simply use Eclipse built-in code formatter. You can easily configure the maxline length amongst other things. Then you simply use ctrl+shift+f to format according to your defined codestyle.

Ah, I didn't realize this wasn't a specific Java question. The code you pasted here doesn't compile and the editor refuses to format it. But if I use your screenshot it will, by default look like this (i changed max line length a bit tho):

if (Input.GetKeyDown("space")) {
    Vector3 prosition = new Vector3(
        tranform.position.x,
        transform.position.y + 1,
        transform.position.z);
    }
    Instantiate(ProjectilePrefab, position,
            Quaternion.Identiy);
}
于 2012-10-26T10:13:30.413 回答
1

所以......在这个循环中,您想要检索完整的文件列表,测试长度,然后再次获取完整的文件列表(除了略有不同,因为您省略了"/"前缀)并希望仍然存在ith 元素。您重复该过程的次数与文件的数量一样多,以实现O(2n^2).

您当然是在发布此功能作为不该做的示例,对吧?

为了给出我对布局的偏好,我宁愿你在=适合的情况下拆分......但是现在你已经使用示例图像进行了编辑,看起来你可以玩的空间比你最初暗示的要少。

如果您实际上是在尝试发布一种成本较低的算法,您可能会选择将结果搜索存储在一个变量中,并缩短该循环中的大部分行......

于 2012-10-26T10:27:31.103 回答