Gejala Code Smell, seberapa bau kode anda ?

Gejala code smell dalam Class

  • komentar: kalau bisa program direfaktor sehingga komentar tidak lagi diperlukan. Kalau terpaksa, harus menjelaskan kenapa (bukan apa)
  • Metode panjang: metode pendek lebih mudah dibaca, dimengerti dan diperbaiki. metode panjang perlu direfaktor sehingga menjadi pendek
  • Parameter yang banyak: batasi parameter
  • Kode berulang: Donot Repeat Yourself !
  • Class besar: perlu di restruktur sehingga menjadi kecil-kecil
  • Menempatkan tipe pada nama metode: hindari hal ini, karena tidak hanya menjadikan redundan, akan tetapi juga menyebabkan penggantian nama jika tipe berganti
  • Nama yang tidak komunikatif: apakah nama metode anda sudah sesuai?menjelaskan fungsinya?
  • Nama yang tidak konsisten: kalau anda punya metode OPEN(), anda perlu punya metode CLOSE()
  • Dead Code: hapuslah kode yang tidak terpakai
  • Speculative Generality: tulislah kode yang diperlukan saat ini, Always implement things when you actually need them, never when you just foresee that you need them
  • Field Sementara: perhatikan objek yang berisi banyak field. Jika melewatkan parameter, pastikan semua field terisi

Referensi : coding horror

Membaca input array menggunakan jquery

Membaca input array pada menggunakan jquery.
:input adalah semua komponen input.
[name='tx[]‘] adalah attribut dari input
Ketika tombol “Button” ditekan, maka akan menampilkan isi dari masing-masing text bergantian

<html>
<head>
<title>Input Array</title>
<link type=”text/css” href=”css/smoothness/jquery-ui-1.8.custom.css” rel=”stylesheet” />
<script type=”text/javascript” src=”smooth/js/jquery-1.4.2.min.js”></script>
<script type=”text/javascript” src=”smooth/js/jquery-ui-1.8.custom.min.js”></script>
<script type=”text/javascript”>
$(document).ready(function(){
$(“#btn”).click(function(){
$(“:input[name='tx[]‘]”).each(function(){
alert($(this).val());
});
});
});
</script>
</head>
<body>
<input type=”text” id=tx[] name=tx[] value=”satu”>
<input type=”text” id=tx[] name=tx[] value=”dua”>
<input type=”text” id=tx[] name=tx[] value=”tiga”>
<input type=”text” id=tx[] name=tx[] value=”empat”>
<input type=”text” id=tx[] name=tx[] value=”lima”>
<button id=btn>Button</button>
</body>
</html>

Javascript Minifier

Javascript minifier dipergunakan untuk mengkompres javascript, dapat di lakukan disini.

Ajax pada Webworks Blackberry

Method get pada JQLite dilakukan dengan cara sebagai berikut :

jQuery.ajax.send("content.html", function(data, status) {
alert(data);
});

Hal ini akan menghasilkan result yang sama dengan cara tradisional:

function startajax(){
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET","content.html",true);
xmlhttp.onreadystatechange=function(event){
if(xmlhttp.readyState==4){
alert(xmlhttp.responseText);
}
};
xmlhttp.send(null);
}
function update(){
if(xmlhttp.readyState==4){
alert(xmlhttp.responseText);
}
}

Hello World


JQLite , sebagai javascript library di Blackberry

Javascript library di Blackberry Webworks dapat menggunakan JQLite, ini adalah sebuah library yang mirip dengan JQuery. Browser blackberry, tidak /belum support JQuery. Library ini dapat di unduh di http://code.google.com/p/jqlite/

Setelah mengekstrak file ini, file – file di impor ke direktori projek kita. Tips: keluarkan semua file dari foldernya, sehingga semua library javascript tidak berada dalam folder. Berdasarkan pengalaman, error berikut ini terjadi karena file library berada dalam folder:

Invalid widget archive – resource name is not valid(extensions/.svn/all-wcprops)

Memang tidak semua fungsional JQuery disupport, akan tetapi library ini sudah cukup lumayan. Fitur-fitur dasar antara lain: show, hide, animate,  dan toggleClass.

Sedangkan cara penggunaan, library ini mirip dengan JQuery. Kita masih bisa menggunakan blok program berikut:


$(document).ready(function(){

..........

})

Selamat mencoba

Blackberry push

There are two kinds of blackberry push: RIM push and PAP push. You need MDS server to simulate your push application using Blackberry simulator.
This code is a sample of Blackberry push enabled with Webworks environment:

 

<!DOCTYPE HTML PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”>
<html>
<head>
<h5>sample push application by pujie:abunajiyah.wordpress.com</h5>
<script type=”text/javascript”>
var port = 100;
function subscribe() {
blackberry.push.openPushListener(function(data) {
if (data != null) {
var text = blackberry.utils.blobToString(data.payload);
alert(“You have a push message:” + text );
} else {
alert(“no data from push”);
}
}, port);
alert(“push Listening has just started”);
}
function unsubscribe() {
blackberry.push.closePushListener(port);
alert(“Push listening has stopped”);
}
</script>
<meta name=”viewport” id=”viewport” content=”initial-scale=1.0,user-scalable=no” />
<title>Job Seeker</title>
</head>
<body>
<button id=”btnsubscribe” onclick=”subscribe()”>Subscribe</button>
<button id=”btnunsubscribe” onclick=”unsubscribe()”>Un Subscribe</button>
</body>
</html>

In your config.xml , add these features in your widget permission: blackberry.push, blackberry.system, blackberry.utils

Follow

Get every new post delivered to your Inbox.