小编gui*_*eak的帖子

Javadoc @author标记了良好实践

我想知道创建Javadocs时的最佳实践.我有一个包含许多文件的项目.代码已由许多开发人员创建.每个文件都有一个注释@author,因此很明显谁创建了一个特定的类.

但是当其他开发人员向文件添加新代码,修改它等等时,他应该如何通知团队的其他成员他已经创建了一些新功能或修改了现有代码?换句话说,我们应该如何"让Javadocs与现实保持一致"?;)

  • 将他的名字添加到现有@author标签?然后,如果有任何疑问,更容易识别要询问的人.
  • @author为每个新方法,内部类等添加标记?

当然,由于我们使用SVN,很容易调查谁做了什么,但为了保持清楚,这个Javadoc的东西也应该被考虑在内.

使用这些@author标签的最佳方法是什么?

java javadoc author

57
推荐指数
6
解决办法
6万
查看次数

在强者退出之后,为什么我的弱参考不被清除?

我有点顽固,但我想了解弱弱和强烈的参考,所以这就是为什么我再次问你.

考虑一下:

__weak NSString* mySecondPointer = myText;   
NSLog(@"myText: %@", myText);
Run Code Online (Sandbox Code Playgroud)

结果是myText: (null)非常明显的 - 弱引用在赋值后设置为null,因为没有对尖头对象的强引用.

但在这种情况下:

__strong NSString* strongPtr = [[NSString alloc] initWithFormat:@"mYTeSTteXt %d"]; 
// weak pointer points to the same object as strongPtr
__weak NSString* weakPtr = strongPtr;
if(strongPtr == weakPtr) 
     NSLog(@"They are pointing to the same obj");        
NSLog(@"StrongPtr: %@", strongPtr);
NSLog(@"weakPtr: %@", weakPtr);

NSLog(@"Setting myText to different obj or nil");

// after line below, there is no strong referecene to the created object:
strongPtr = [[NSString alloc] …
Run Code Online (Sandbox Code Playgroud)

weak-references reference-counting objective-c strong-references

28
推荐指数
1
解决办法
3065
查看次数

UML图中的私有嵌套Java类

我有一个关于UML的问题.我有一个类,它只包含一个带有私有访问修饰符的内部类 - 无法从其他任何地方访问...通常为了呈现内部类关系,我可以使用像(here InnerOddIterator)这样的(+)关系:

在此输入图像描述

(摘自http://www.uml-diagrams.org/nested-classifier.html)

我没有找到任何关于如何明确强调这个类是私有的信息.你知道这种方法是否存在吗?如果是的话,我会感激你在这里给我一些链接吗?

为了保持清晰,示例代码:

public class DataStrucure {
     // fields, methods, etc
     private class InnerOddIterator{
          // ... 
     };
}
Run Code Online (Sandbox Code Playgroud)

java uml class-diagram nested-class

15
推荐指数
2
解决办法
3万
查看次数

JTable - 如何强制用户只选择一行

我必须实现一个JTable,其中必须选择一行(总是).不允许空选择.我在初始化期间选择了第一行:

table.setRowSelectionInterval(0, 0);
Run Code Online (Sandbox Code Playgroud)

另外,我正在使用

table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
Run Code Online (Sandbox Code Playgroud)

但是用户仍然可以使用CLick + Ctrl取消选择一行.

确保在表中始终选择一个(exaclty)行的最简单方法是什么?

java swing jtable

10
推荐指数
3
解决办法
2万
查看次数

循环检查条件

我想向更多有经验的开发人员询问一个简单但对我来说不明显的事情.假设您有这样的代码(Java):

for(int i=0; i<vector.size(); i++){
   //make some stuff here
}
Run Code Online (Sandbox Code Playgroud)

我经常遇到这样的陈述,所以也许没有任何错误.但对我来说,似乎没有必要在每次迭代中调用一个size方法.我会用这样的方法:

int vectorSize = vector.size();
for(int i=0; i<vectorSize; i++){
    //make some stuff here
}
Run Code Online (Sandbox Code Playgroud)

同样的事情在这里:

for(int i=0; i<myTreeNode.getChildren().size(); i++){
   //make some stuff here
}
Run Code Online (Sandbox Code Playgroud)

我绝对不是编程方面的专家,所以我的问题是:我是否寻求在对冲完整或者在专业代码中处理这些细节很重要的差距?

java loops

9
推荐指数
1
解决办法
1180
查看次数

XCode Analyzer可能没有注意到哪种内存泄漏?

我担心提出这个问题可能会导致一些问题,但在做了一些不令人满意的研究之后,我决定冒险并问更有经验的人......

这里有很多问题涉及与XCode Analayzer工具相关的一些特定问题.这似乎是非常有用的解决方案.但我想问你 - 作为iOS世界的初学者 - 这个工具无法注意到什么样的内存管理.

换句话说,是否有任何常见的内存管理方面,iOS初学者应该考虑" 哦,小心,因为在这种情况下,XCode Analyzer可能不会警告你你的错误 "......

例如,我在这里找到了为什么XCode静态分析器无法检测未释放的保留属性?那:

(...)分析器无法可靠地检测跨方法/库边界的保留/释放问题(...)

这听起来像是一个很好的提示,但也许你知道其他一些常见的问题......

debugging xcode memory-leaks analyzer

8
推荐指数
1
解决办法
657
查看次数

从JDialog返回值; dispose(),setVisible(false) - 示例

我知道,这个问题在这里经常出现在这里:但我想提出一些非常具体的例子......我只是不确定我是否做对了.

我有一个JDialog,我可以输入一些值,选择一些复选框......无论如何......我还有一些在MyDialog中创建的Response对象,代表MyDialog的"答案".

在调用/创建JDialog的JFrame中:

MyDialog d = new MyDialog(this, ...);
d.showDialog();
// After MyDialog is closed (it's modal):
MyDialog.Response dialogResponse = d.getDialogResponse();
// Do something with response...
Run Code Online (Sandbox Code Playgroud)

在对话框中(可以通过单击"保存"按钮关闭对话框):

btnSave.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        dialogResponse = prepareResponse(); // prepares response on the basis of some data introduced by a user; dialogResponse is called from JFrame after Dialog is closed
        setVisible(false);
        dispose();  // <-- Important
    }
});
Run Code Online (Sandbox Code Playgroud)

我的问题是:这个解决方案有效,我的意思是,该行MyDialog.Response dialogResponse = d.getDialogResponse();返回正确的值,但是......如果我使用dispose()关闭对话框,所有对话框的资源都可以被垃圾收集(不必...难以预测, 我对吗?).因此,以这种方式检索我的对话框的响应是正确的...也许在这种情况下我应该只写 setVisible(false); …

java swing dispose jdialog

7
推荐指数
1
解决办法
2万
查看次数

最终静态与最终非静态字段和JVM优化

我很好奇static finalJVM 如何处理这些字段.我在这里看到了类似的问题,但这不是我想要的.让我们考虑这样的例子:

public class TestClassX {
   public final int CODE_A = 132;
   public final int CODE_B = 948;
   public final int CODE_C = 288;
   // some other code
}

public class TestClassY {
   public static final int CODE_A = 132;
   public static final int CODE_B = 948;
   public static final int CODE_C = 288;
   // some other code
}
Run Code Online (Sandbox Code Playgroud)

TestClassX字段中,由于它们是final且无法修改,因此在TestClassX类的所有实例中具有相同的值.当然我不能写,TestClassX.CODE_A但我可以说,这些值实际上对所有实例都是通用的 - 我敢肯定,每个实例都有一个CODE_A带有值的字段132 …

java optimization static jvm final

6
推荐指数
1
解决办法
689
查看次数

Objective-C和ARC?使用与否?

在阅读iOS 5的一本书时,我发现了这样的信息:

"虽然ARC使您可以更轻松地编写应用程序而无需担心对象管理,但许多第三方库仍然需要手动释放对象.对于本书,所有项目都是在ARC关闭(...)的情况下创建的".

我是iOS开发的新手,我不知道如何解释它.了解iOS的内存管理似乎是非常(非常)重要的事情,但是我应该理解,ARC只是一个很好的功能,我必须在不学习它的情况下开始,因为它是如此新的,它可能不被支持或不可能在很多情况?

objective-c ios automatic-ref-counting

5
推荐指数
2
解决办法
480
查看次数

在excel文件中导出Jtable

嗨我是java编程的新手,但这里是我的问题我正在设计GUI进行一些计算,需要在J表中显示输入和输出然后将它们导出到excel文件

代码工作就像魅力,但当我打开excel文件时,我发现它是空的..

j表

import java.awt.Desktop;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import javax.swing.JFileChooser;


public class Export extends javax.swing.JFrame {


public Export() {
    initComponents();
}


@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    jScrollPane1 = new javax.swing.JScrollPane();
    jTable1 = new javax.swing.JTable();
    jButton1 = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jTable1.setModel(new javax.swing.table.DefaultTableModel(
        new Object [][] {
            {"Channel Model", global.channel_model, global.channel_model},                    
    {"System Bandwidth (MHz)", global.band_width_index,      global.band_width_index},
            {"Cell Edge Rate (Kbps)", global.Rreq_UL, global.Rreq_DL},
            {"Cell edge MCS", global.mcs, global.mcs},
    {"Antenna Configuration", global.DL_antenna_config, global.DL_antenna_config},
            {"Total …
Run Code Online (Sandbox Code Playgroud)

java excel swing button

5
推荐指数
2
解决办法
3万
查看次数