Re: [JUG-Indonesia] Code Readability
On 4/20/2010 12:28 PM, Mirza Akhena wrote: ohya, mungkin bisa dijadikan bahan referensi, beberapa framework yang ada (tidak hanya java), mereka juga selalu (sering) menggunakan positive statement. misalnya : isAvailable() isVisible() isExist() isActive() isRunning() isDoubleBuffered() dll.. saya belum pernah lihat : isNotAvailable() http://documentation.softwareag.com/webmethods/wmsuite8_ga/Third-Party/Blaze_Advisor_6-8/api/innovator/com/blazesoft/template/engine/NdProviderStaticArg.html isNotVisible() http://docs.atlassian.com/atlassian-selenium/1.3/apidocs/com/atlassian/selenium/Conditions.html isNotExist() https://www.docjar.com/docs/api/com/port80/eclipse/jdt/util/PersistentItem.html Nah sekarang sudah lihat. He he he. Itu software diatas bukan software sembarangan lho yang ke 1 web methods, yang ke 2 selenium dan yang ketiga eclipse. Buktikan Anda peduli pendidikan Indonesia. Dukung Kurikulum SMK berJava.. kirimkan surat resmi perusahaan dukungan ke moderator JUG. === Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke jug-indonesia-unsubscr...@yahoogroups.com. Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/jug-indonesia/ * Your email settings: Individual Email | Traditional * To change settings online go to: http://groups.yahoo.com/group/jug-indonesia/join (Yahoo! ID required) * To change settings via email: jug-indonesia-dig...@yahoogroups.com jug-indonesia-fullfeatu...@yahoogroups.com * To unsubscribe from this group, send an email to: jug-indonesia-unsubscr...@yahoogroups.com * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
Re: [JUG-Indonesia] Code Readability
2010/4/20 Samuel Franklyn sfrank...@gmail.com On 4/20/2010 12:28 PM, Mirza Akhena wrote: ohya, mungkin bisa dijadikan bahan referensi, beberapa framework yang ada (tidak hanya java), mereka juga selalu (sering) menggunakan positive statement. misalnya : isAvailable() isVisible() isExist() isActive() isRunning() isDoubleBuffered() dll.. saya belum pernah lihat : isNotAvailable() http://documentation.softwareag.com/webmethods/wmsuite8_ga/Third-Party/Blaze_Advisor_6-8/api/innovator/com/blazesoft/template/engine/NdProviderStaticArg.html isNotVisible() http://docs.atlassian.com/atlassian-selenium/1.3/apidocs/com/atlassian/selenium/Conditions.html Comment yang ini dulu (karena gw banyak pake selenium 2.0): isNotVisible() di Selenium bukan return boolean, tapi return Condition (predicate yang intinya ngecek bahwa something is not visible) - ini diperlukan karena Condition tidak bisa dibalik simply by adding !. Jadi tidak cocok dengan context thread ini hehe... Mengenai bagian Sedangkan yang ke 2 musti ngerti bahwa ! adalah not/negasi di Java. menurut saya mestinya tanggung jawab yang baca untuk ngerti basic operator Java. Toh ! bukan cuman Java, language lain juga (C/C++/JS) juga menggunakan symbol standar yang sama (sama kayak misalnya * itu buat multiplication...) Ada baiknya kalau mau pake opsi 1, daripada ditulis if (isTidakAdaKreditMacet()) hapusBlacklistNasabah(); lebih baik sekalian direname if (isStatusKreditLancar()) hapusBlacklistNasabah(); Selain nama method is yang preferably gak pake negasi, nama variable boolean juga preferably gak pake negasi, menurut saya lebih readable demikian. Demikian pendapat saya (readability kan subyektif, jadi lebih readable menurut saya belum tentu lebih readable buat orang lain)... -Kurniady
Re: [JUG-Indonesia] Code Readability
Kebetulan gw lagi into DSL, dan ini exactly one of the side topics... Good API design adalah customer.!isAdaKreditMacet() Tapi kalo lu bikin DSL, lu mesti sadar bahwa things that apply to good API development practice gak selalu apply ke business communication. Dalam DSL, ini lebih make sense: customer.isTidakAdaKreditMacet() Same thing dengan if-else syntax. Sebagai programmer, lu cenderung ngerasa ini lebih make sense: if (customer.is_favorable and customer.total_spending 500) or (customer.is_not_favorable and customer.total_spending 1000) then apply free_sms_bonus.for(2.months) Tapi buat most non-developers, in this particular scenario (rule configuration buat customer's bonus), kalimat ini jauh lebih masuk akal: apply free_sms_bonus.for(2.months) if (customer.is_favorable and customer.total_spending 500) or (customer.is_not_favorable and customer.total_spending 1000) Jadi, short answer... buat general API, nomer 1 is better. Kalo tujuannya buat DSL, maka nomer 2 is better. 2010/4/20 andika.wibawanto andika.wibawa...@yahoo.com Dear all, Saya ada method seperti ini, Mana yang lebih mudah dibaca ? 1. if (isTidakAdaKreditMacet()) hapusBlacklistNasabah(); 2. if (!isAdaKreditMacet()) hapusBlacklistNasabah(); Thanks, Andika
Re: [JUG-Indonesia] Code Readability
IMO, sebaiknya gunakan positive statement daripada negative statement. isTidakAdaKreditMacet() -- Negative Statment isAdaKreditMacet() -- Positive Statement. karena (menurut pengalaman saya) statement negative bisa bikin bingung dalam hal pembacaan. contohnya : public void doSomething(){ return (isTidakAdaKreditMacet() == false); // return (!isTidakAdaKreditMacet()); } kan jadinya aneh, agak susah mengartikannya, dan bertele2. lebih baik : public void doSomething(){ return isAdaKreditMacet(); } *statement : maksudnya bisa method, field, atau apapun. btw, knapa gak pake bahasa inggris aja? coding kalo pake bahasa indonesia jadinya agak aneh. (misal : isKreditMacetExist()) _ 2010/4/20 andika.wibawanto andika.wibawa...@yahoo.com Dear all, Saya ada method seperti ini, Mana yang lebih mudah dibaca ? 1. if (isTidakAdaKreditMacet()) hapusBlacklistNasabah(); 2. if (!isAdaKreditMacet()) hapusBlacklistNasabah(); Thanks, Andika -- Best Regards Mirza Akhena
Re: [JUG-Indonesia] Code Readability
Whoops kebalik 2010/4/20 Hendry Luk hendrym...@gmail.com Jadi, short answer... buat general API, nomer 1 is better. Kalo tujuannya buat DSL, maka nomer 2 is better.
Re: [JUG-Indonesia] Code Readability
On 4/20/2010 11:00 AM, andika.wibawanto wrote: Dear all, Saya ada method seperti ini, Mana yang lebih mudah dibaca ? 1. if (isTidakAdaKreditMacet()) hapusBlacklistNasabah(); 2. if (!isAdaKreditMacet()) hapusBlacklistNasabah(); Yang nomor 1 lebih mudah dibaca. Yang nggak ngerti Java juga bisa menduga maksudnya apa. Sedangkan yang ke 2 musti ngerti bahwa ! adalah not/negasi di Java.
Re: [JUG-Indonesia] Code Readability
ohya, mungkin bisa dijadikan bahan referensi, beberapa framework yang ada (tidak hanya java), mereka juga selalu (sering) menggunakan positive statement. misalnya : isAvailable() isVisible() isExist() isActive() isRunning() isDoubleBuffered() dll.. saya belum pernah lihat : isNotAvailable() isNotVisible() isNotExist() dll... _ 2010/4/20 Mirza Akhena mirken...@gmail.com IMO, sebaiknya gunakan positive statement daripada negative statement. isTidakAdaKreditMacet() -- Negative Statment isAdaKreditMacet() -- Positive Statement. karena (menurut pengalaman saya) statement negative bisa bikin bingung dalam hal pembacaan. contohnya : public void doSomething(){ return (isTidakAdaKreditMacet() == false); // return (!isTidakAdaKreditMacet()); } kan jadinya aneh, agak susah mengartikannya, dan bertele2. lebih baik : public void doSomething(){ return isAdaKreditMacet(); } *statement : maksudnya bisa method, field, atau apapun. btw, knapa gak pake bahasa inggris aja? coding kalo pake bahasa indonesia jadinya agak aneh. (misal : isKreditMacetExist()) _ 2010/4/20 andika.wibawanto andika.wibawa...@yahoo.com Dear all, Saya ada method seperti ini, Mana yang lebih mudah dibaca ? 1. if (isTidakAdaKreditMacet()) hapusBlacklistNasabah(); 2. if (!isAdaKreditMacet()) hapusBlacklistNasabah(); Thanks, Andika -- Best Regards Mirza Akhena -- Best Regards Mirza Akhena
Re: [JUG-Indonesia] Code Readability
Mirza Akhena wrote: ohya, mungkin bisa dijadikan bahan referensi, beberapa framework yang ada (tidak hanya java), mereka juga selalu (sering) menggunakan positive statement. misalnya : iya lebih enak pake positive statement. menghindari kalo ada yg iseng bikin gini: if (!isTidakAdaKreditMacet()) hapusBlacklistNasabah(); pusing dah lo. wakakaka... btw kalian pake bahasa inggris kalo bikin perintah (class, statement, dll) atau bahasa indo-english? http://www.codinghorror.com/blog/2009/03/the-ugly-american-programmer.html -- Ronsen http://twitter.com/Ronsen18 Buktikan Anda peduli pendidikan Indonesia. Dukung Kurikulum SMK berJava.. kirimkan surat resmi perusahaan dukungan ke moderator JUG. === Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke jug-indonesia-unsubscr...@yahoogroups.com. Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/jug-indonesia/ * Your email settings: Individual Email | Traditional * To change settings online go to: http://groups.yahoo.com/group/jug-indonesia/join (Yahoo! ID required) * To change settings via email: jug-indonesia-dig...@yahoogroups.com jug-indonesia-fullfeatu...@yahoogroups.com * To unsubscribe from this group, send an email to: jug-indonesia-unsubscr...@yahoogroups.com * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/