Java类通常分为逻辑"块".是否有标记这些部分的约定?理想情况下,它将受到主要IDE的支持.
我个人使用这种方法:
//// Section name here ////
Run Code Online (Sandbox Code Playgroud)
但是,一些编辑似乎对此有疑问.
例如,在Objective-C代码中,您可以使用此方法:
#pragma mark -
#pragma mark Section name here
Run Code Online (Sandbox Code Playgroud)
这将导致XCode中的菜单如下所示:

And*_*rov 133
对于intellij/android studio,有一个惊人的解决方案.
从以下开始:
//region Description
并以:结束:
//endregion
它的快捷方式是您可以使用Command+ Alt+ T(Mac)或Ctrl+ Alt+ T(Windows)打开的菜单
如果需要,您还可以添加自己的行以进行额外的视觉分离.可以使用+/-按钮随意收缩和扩展该区域,就像任何功能一样.您还可以使用Command+ Alt+ Period(Ctrl+ Alt+ Period)在区域之间导航
来源.
例:
//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
Run Code Online (Sandbox Code Playgroud)
Oli*_*ier 64
我个人使用80-chars行分隔符,如下所示:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
当然,对于这么小的POJO来说这看起来有点过分,但是相信我,它在一些大型项目中非常有用,我必须浏览大型源文件并快速找到我感兴趣的方法.它也有助于理解源代码结构.
在Eclipse中,我创建了一组自定义模板(Java - >编辑器 - > Eclipse的首选项对话框中的模板),用于生成这些条,例如. - sepa(访问者的SEParator) - sepp(属性的SEParator) - sepc(构造函数的SEParator) - 等
我还修改了标准的"新类"模板(Java - >代码样式 - > Eclipse首选项屏幕中的代码模板)
此外,还有一个名为Coffee-bytes的旧Eclipse插件,它增强了Eclipse折叠部分代码的方式.我不知道它是否仍然有效,但我记得可以通过添加特殊注释来定义任意可折叠区域,例如// [SECTION]或其他东西.它可能仍然适用于最近的Eclipse版本,所以看一看.
bas*_*ero 14
Eclipse定义了@category javadoc注释(滚动到标记为"类别支持"的部分),该注释允许在大纲视图中按类别进行过滤.不完全是你想要的.我很惊讶没有人写过一个Eclipse插件,它提供了一个像你的屏幕截图一样的视图.
在代码中使用不必要的注释/标记来帮助工作可能不是一个好习惯.我对xcode和java开发一点都不了解,但是所有主要的IDE支持找到没有像eclipse这样的特殊标记的成员使用大纲视图显示方法和成员,可以使用ctrl+OIntellij 触发(我更喜欢在mac上使用更多并且有一个社区版也具有相同的轮廓概念,可以使用(ctrl + f12)快速访问.所以我的观点是不要在代码中使用任何不必要的标记,因为所有(或至少好/理智)的IDE都可以自动完成.
我会使用javadoc;或使用以下作为简单的“分隔符”(单行或 3 行):
/** RecyclerOnItemClickListener */
/**
* RecyclerOnItemClickListener
*/
Run Code Online (Sandbox Code Playgroud)
因此,在 IDE 中,它以与不显眼的灰色注释不同的颜色出现。
| 归档时间: |
|
| 查看次数: |
40247 次 |
| 最近记录: |