Monday, May 18, 2009

Java - Lessons on Naming Conventions

Ok, bakit ba mahalaga ang naming conventions or standards? Kasi:
  • 80% na binabayad sa software ay napupunta sa maintenance
  • Bihirang bihira na ang original na author ng isang sofware ay sya na din ang magme-maintain ng code na yun sa buong lifetime ng software na yun. Usually, napapasa-pasa sa iba't ibang programmers ang pag maintain ng code.
  • Nag-iimprove ang readability ng code kaya mas mabilis maintindihan ng mga susunod na programmers.
Pero strict ba dapat ang implementation nito? Hindi naman. Kasi kahit ano nga ang gamitin ng programmer/designer eh oks lang at mag ra-run din ang program. Or kaya minsan may sariling standards ang company or ang authord ng codes mismo. Maganda lang kung makakasunod tayo dito para compliant tayo sa standards at mas madaling maintindihan ng susunod na programmer.

Ano ba ang mga naming conventions:

Packages - lowercase lahat na usually ay nagsisimula sa isa sa mga top level domains: com, edu, gove, mil, net, org or kaya two-letter code ng isang bansa based sa ISO Standard 3166, 1981. Yung mga susunod ay internal standard na ng company.
-sa mga simpleng projects lang, pwede din kahit ano depende na sa programmer/designer. basta dapat all lower case pa din.
Example:

edu.up.linux.core
org.pinoyjavatutorial.main

Classes - haha :D dito ko guilty kasi minsan kahit ano na lang ang name ng class ko or kaya verb ang name na gamit ko. Anyway, ang dapat talaga ay noun. Mixed case ang gamit. Mixed case means yung first letter of each word ay upper case. Minsan tawag nila sa mixed case ay camel case. Kasi parang likod ng camel na may dalawang humps. Anyway, kung ano pa ang tawag dyan, ang mahala ang first letter ng word ay laging capital tapos walang space. Try to avoid acronyms and abbreviations. Unless na yung abbreviation ay mas gamitin kaysa sa meaning nya like URL, HTML, WWW.
Example:

class SchoolBus
class Pencil
class BufferedReader

Interface - Mixed case din sya. Kaya ang first letter ng word ay upper case. Para syang class pero wala na syang restriction na dapat ay noun.
Example:

interface RasterDelegate

Method - should be verbs na ang pagkakasulat ay kagaya ng sa class except yung first letter ay lower case then yung mga sumunod na first letter ng word upper case na.
Example:

doGet();
setName();
main();

Variables - same ng naming convention ng methods pero wala ng restriction na dapat eh verb. Nga pala, variables should not start with underscores (_) or dollar sign $ kahit na pinapayagan sya ng compiler. Confusing kasi tingnan. It should be short and meaningful. Avoid using one letter variables din (e.g. 'a', 'b'). Except kung temporary variables lang.
Example:

int screenWidth;
String name;
int i;

Constants - All upper case na yung space ay replaced by underscores (_).
Example:

final double PI = 3.1416;

static final int END_DATE = 25;

No comments:

Post a Comment