Mengutip dari quoate nya Bernard Shaw :
There are only two kinds of code: efficient code and inefficient code, and there are only two kinds of programmers in the world: programmers who write efficient code and programmers who write inefficient code
Mengapa kita harus membuat code yang efisien ?
Untuk kalian yang sudah berada dalam level middle sampe advance, alangkah bagus nya jika sudah membuat code yang efisien, mengapa ? Karena dengan membuat code yang efisien kita bisa membuat efisiensi dari sisi memory, gampang dibaca dan dimaintain oleh programmer dan lain-lain.
Artikel ini akan membahas beberapa contoh membuat good code and bad code dari sisi *Constant *dan Variable.
Jika anda mengisi sebuah object value, misalkan Long, String. Kalian bisa langsung mengisi dengan nilai tanpa harus membuat *object reference *terlebih dahulu.
Bad Code :
Long i = new Long(1L);
String s = new String("abc");
Good code: :
Long i = 1L;
String s = "abc";
Tentukan nilai Variable Member yang tidak berubah sebagai Static Constant
Bad Code:
public class Connection {
private final long timeout = 5L;
...
}
Good code: :
public class Connection {
private static final long timeout = 5L;
...
}
Jangan Tetapkan Nilai Awal ke Variabel yang Nilai Awal Dapat Ditimpa
Bad Code:
List<UserDO> userList = new ArrayList<>();
if (isAll) {
userList = userDAO.queryAll();
} else {
userList = userDAO.queryActive();
}
Good code: :
List<UserDO> userList;
if (isAll) {
userList = userDAO.queryAll();
} else {
userList = userDAO.queryActive();
}
Jangan membuat object diluar Looping
Versi Java Development Kit (JDK) sebelumnya tidak memberikan dukungan yang baik untuk mendefinisikan variabel di luar loop. Namun, versi JDK yang lebih baru telah ditingkatkan dalam hal ini. Analisis bytecode yang dikompilasi menunjukkan bahwa kode dengan variabel yang ditentukan intra-loop dan kode dengan variabel yang ditentukan ekstra-loop memiliki efisiensi runtime yang sama. Menurut prinsip meminimalkan ruang lingkup variabel lokal, variabel yang ditentukan dalam loop dapat menghindari daur ulang yang tertunda karena siklus hidup objek besar yang berkepanjangan.
Bad Code:
UserVO userVO;
List<UserDO> userDOList = ...;
List<UserVO> userVOList = new ArrayList<>(userDOList.size());
for (UserDO userDO : userDOList) {
userVO = new UserVO();
userVO.setId(userDO.getId());
...
userVOList.add(userVO);
}
Good code: :
List<UserDO> userDOList = ...;
List<UserVO> userVOList = new ArrayList<>(userDOList.size());
for (UserDO userDO : userDOList) {
UserVO userVO = new UserVO();
userVO.setId(userDO.getId());
...
userVOList.add(userVO);
}
If you enjoyed reading this, tapping the “︎❤” would help promote this post to more folks. Sharing it with other people who could benefit from it would be even better!