Java类通常被划分为逻辑“块”。是否有一种标记这些部分的惯例?理想情况下,它应该得到主要IDE的支持。
我个人使用以下方法:
//// Section name here ////
然而,有些编辑器似乎在此方面存在问题。
以Objective-C代码为例,您可以使用这种方法:
#pragma mark -
#pragma mark Section name here
这将在XCode中生成一个菜单,看起来像这样:
Java类通常被划分为逻辑“块”。是否有一种标记这些部分的惯例?理想情况下,它应该得到主要IDE的支持。
我个人使用以下方法:
//// Section name here ////
然而,有些编辑器似乎在此方面存在问题。
以Objective-C代码为例,您可以使用这种方法:
#pragma mark -
#pragma mark Section name here
这将在XCode中生成一个菜单,看起来像这样:
//region Description
//endregion
在菜单中按下快捷键Command+Alt+T(Mac)或Ctrl+Alt+T(Windows)。你也可以添加自己的行来进行额外的可视分割。//region Parceler Implementation
//---------------------------------------------------------------------------------------
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeParcelable(this.die, 0);
dest.writeParcelable(this.dieSprite, 0);
}
private DieVm(Parcel in) {
this.die = in.readParcelable(Die.class.getClassLoader());
this.dieSprite = in.readParcelable(Sprite.class.getClassLoader());
}
public static final Parcelable.Creator<DieVm> CREATOR = new Parcelable.Creator<DieVm>() {
public DieVm createFromParcel(Parcel source) {
return new DieVm(source);
}
public DieVm[] newArray(int size) {
return new DieVm[size];
}
};
//---------------------------------------------------------------------------------------
//endregion
我个人使用80个字符作为行分隔符,像这样:
public class Client {
//================================================================================
// Properties
//================================================================================
private String name;
private boolean checked;
//================================================================================
// Constructors
//================================================================================
public Client() {
}
public Client(String name, boolean checked) {
this.name = name;
this.checked = checked;
}
//================================================================================
// Accessors
//================================================================================
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
}
当然,对于这样一个小的POJO来说,这似乎有点过度了,但相信我,在一些需要浏览大型源文件并快速找到感兴趣方法的巨大项目中,它证明非常有用。它还有助于理解源代码结构。
在Eclipse中,我创建了一组自定义模板(Java->编辑器->Eclipse首选项对话框中的模板),可以生成这些分隔符,例如: - sepa(访问器的分隔符) - sepp(属性的分隔符) - sepc(构造函数的分隔符) - 等等。
我还修改了标准的“新类”模板(Java->代码风格->Eclipse首选项屏幕上的代码模板)
此外,有一个叫做Coffee-bytes的旧版Eclipse插件,它增强了Eclipse折叠代码段的方式。 我不知道它是否仍然可用,但我记得可以通过添加特殊注释(如// [SECTION]或类似注释)定义任意可折叠区域。 它可能仍然适用于最近的Eclipse版本,所以请看一眼。
Eclipse定义了一个@category javadoc注释(滚动到“Category support”部分),可以在大纲视图中按类别进行过滤。不完全符合您的要求。我很惊讶没有人编写Eclipse插件,提供像您屏幕截图那样的视图。
我在使用Xcode的时候也很喜欢这个功能。对于Eclipse,我使用ctrl+o(快速大纲)来浏览Java类。
我会使用javadoc或者以下的简单 "分隔符"(一行或三行):
/** RecyclerOnItemClickListener */
/**
* RecyclerOnItemClickListener
*/
这样在IDE中,它会显示为与不引人注目的灰色注释不同的颜色。
ctrl+O
触发,Intellij(我更喜欢在mac上使用,并且也有社区版)具有相同的大纲概念,并且可以通过(ctrl + f12)快速访问。因此,我的观点是不要在代码中使用任何不必要的标记,因为所有(或至少是好/明智的)IDE都可以自动完成这项工作。引用
// _ _____ _____ _ _
// | | | __ \ /\ | __ \ /\ | | | |
// | | | | | | / \ | |__) | / \ _ _| |_| |__
// | | | | | |/ /\ \ | ___/ / /\ \| | | | __| '_ \
// | |____| |__| / ____ \| | / ____ \ |_| | |_| | | |
// |______|_____/_/ \_\_| /_/ \_\__,_|\__|_| |_|
//
// Search here with: LDAP Auth
[1]: http://patorjk.com/software/taag/#p=display&c=c%2B%2B&f=Big&t=LDAP Auth
这是一个关于LDAP认证的链接,可以帮助您在C++中进行身份验证。请点击链接查看详情。