When programming, regardless if you're new or old to programming, it should always be your best practice into improving your code for good(clean) looks, so that you and others may understand it as well, etc. This short and simple tutorial (more of a guide) will help you understand some general tips when you start your new project.
Object DefiningBad Example:
public RS2Object entrance;
public RS2Widget wait;
public RS2Widget cont;
public NPC guard;
public NPC tzkih;
public NPC tzkek;
public NPC tokxil;
public NPC ytmejkot;
public NPC ketzek;
public NPC jad;
public NPC ythurkot;
String state;
int startHPExp;
int startATTExp;
int startDEFExp;
int startSTRExp;
int completed;
long startTime;
long runTime;
This is an example of bad code! Most of us have probably defined our variables like this before and thought it is correct. Though it is correct and will work, it is not the most efficient and clean way to define them.
Good Example:
int profit, age;
int a = 4, b = 6;
long startTime, timeRun
RS2Object guard, target, chicken;
RS2Widget selectX, makeAll;
..... so forth
Fewer lines of your code, all your variables are still there and it looks neater and easier on the eyes.
Casting and 'this'Bad Example:
this.wait = this.widgets.getWidgetContainingText(new String[] { "Hey, JalyYt, you were in a cave only a moment ago." });
this.cont = this.widgets.getWidgetContainingText(new String[] { "Well done in the cave, here take TokKul as reward." });
this.entrance = (RS2Object)this.objects.closest(new String[] { "Cave entrance" });
this.guard = (NPC)this.npcs.closest(new String[] { "TzHaar-Mej-Jal" });
this.tzkih = (NPC)this.npcs.closest(new String[] { "Tz-Kih" });
this.tzkek = (NPC)this.npcs.closest(new String[] { "Tz-Kek" });
this.tokxil = (NPC)this.npcs.closest(new String[] { "Tok-Xil" });
this.ytmejkot = (NPC)this.npcs.closest(new String[] { "Yt-MejKot" });
this.ketzek = (NPC)this.npcs.closest(new String[] { "Ket-Zek" });
this.ythurkot = (NPC)this.npcs.closest(new String[] { "Yt-HurKot" });
In this example, the variable names are the same ones we defined earlier, therefore, we do not need this. As well, we do not need the absurd and gross looking String array and casting.
Good Example:
wait = widgets.getWidgetContainingText("Hey, JalyYt, you were in a cave only a moment ago.");
entrance = objects.closest("Cave entrance");
guard = npcs.closest("TzHaar-Mej-Jal" );
tzkih = npcs.closest("Tz-Kih" );
Refer to the above picture.
Method NamingBad Example:
void eatfood() {}
void attacktarget() {}
Good Example:
boolean isUnderAttack() {}
boolean findTarget() {}
void eatFood() {}
I hope this simple but hopefully effective guide has opened some new things to your eyes and knowledge of programming your projects.