ভালো কোড মন্দ কোড: জাভা পার্ট - ২

bad-codegood-code


নাল চেকিং এর সময় যাকে নিশ্চিত ভাবে জানি যে সে নাল না, তার থেকে ইকুয়াল কল করা উচিত। কারণ, নালের একুয়াল মেথড নাই, তাই এখানে নাল পয়েন্টার এক্সসেপ্সন হতে পারে।


মন্দ কোড

object.equals("test");


ভালো কোড

"test".equals(object);




জাভাতে == দিয়ে প্রিমিটিভ এর সমতা চেক করা যায়। আর টাইপ হলে equal দিয়ে। তাই Long, Integer এর ক্ষেত্রে খুব সাবধান। কারণ এরা প্রিমিটিভ না।


চরম মন্দ কোড / বাগি কোড

Integer number1 = 100;
Integer number = 128;
if ( number1 == number2 ) {
  // Do something
 }



ভালো কোড

Integer number1 = 100;
Integer number2 = 128;
if (number1.equals(number2)) {
  // Do something
 }





লুপ এর মধ্যে কখনো + দিয়ে স্ট্রিং যুক্ত করা উচিত না। কারণ প্রতিটা লুপের জন্য নতুন অবজেক্ট তৈরী হয়।

মন্দ কোড

String str = "start";
for (int i = 0; i < 100; i++) {
    str = str + "hello";
}


ভালো কোড

StringBuilder sb = new StringBuilder("start"); //যদি থ্রেডের ঝামেলা না থাকে 
for (int i = 0; i < 100; i++) {
    sb.append("hello");
}

String str = sb.toString();





এটা সব ল্যাঙ্গুয়েজএর জন্য। বুলিয়ান এর ভেরিয়েবল এর শুরুতে ‘is’  যুক্ত করবেন না। প্রথমত এটা খুবই কনফুজিং এবং কিছু জাভা ফ্রেমওয়ার্কে is ব্যবহার করে মেথডে নামের আগে।


মন্দ কোড

boolean isSuccess = true;
boolean isAdmin = false;


ভালো কোড

boolean success = true;
boolean admin = false;





স্মার্টলি রিটার্ন করুন। যদি বুলিয়ান কিছু রিটার্ন করতে হয়, কন্ডিশন পরিহার করতে পারেন। আর যদি শুধু মাত্রা দুই ধরণের রিটার্ন থাকে তাহলে শর্ট ফর্ম ব্যবহার করতে পারেন।


মন্দ কোড

if (booleanExpression) {
    return true;
} else {
    return false;
}

or           

if (condition) {
    return x;
}
return y;


ভালো কোড

return  booleanExpression;
or
return condition ? x : y;