Coders please advice me

Jecob Boman

Well-known member
  • Dec 10, 2013
    1,333
    93
    48
    homagama
    මේ දෙකෙන් මොකක්ද හරි. ඒ කිව්වේ හොදම විදිය.

    Code:
    var login = true;
    
    if (login) {
        edirectTo('messages');
    }
    
    print('please login');


    Code:
    var login = true;
    
    if (!login) {
        print('please login');
    } else {
        redirectTo('messages');
    }
     

    NecroMonger

    Active member
  • Dec 27, 2011
    145
    63
    28
    මේ දෙකෙන් මොකක්ද හරි. ඒ කිව්වේ හොදම විදිය.

    Code:
    var login = true;
    
    if (login) {
        edirectTo('messages');
    }
    
    print('please login');


    Code:
    var login = true;
    
    if (!login) {
        print('please login');
    } else {
        redirectTo('messages');
    }

    Second one is cleaner and more manageable. It is more readable and gives the complete picture. When the application grows and when you start adding more code inside the if statement, having an enclosed else part also helps you to keep the code maintainable.
     

    Banned!

    Member
    Jun 30, 2013
    10,779
    1,070
    0
    ඇයි ඒ?

    පළවෙනි එකේදි රීඩිරෙක්ට් වෙන නිසා. ඊය යට කෑල්ල එක්සිකියුට් වෙන්නෑනේ. :oo:

    login true unama ai aye please login kiyala display karanne ?
     

    Jecob Boman

    Well-known member
  • Dec 10, 2013
    1,333
    93
    48
    homagama
    login true unama ai aye please login kiyala display karanne ?

    කෝඩ් එකටම ෆෝකස් කරන්න එපා මචං. ඒක වැදගත් නෑ. ඒක නිකන් ඩමි කෝඩ් එකක්. මට ඕන උනේ ඔය රීඩිරෙක්ට්ස් තියෙන තැන්වලදි if else block ඇතුලෙම දාන්න ඕනද කියන එක දැනගන්න. මොකද රීඩිරෙක්ට් වෙන නිසා ඊට යට ටික වැඩ කරන්නෑනේ කියල හිතල.
     

    Jecob Boman

    Well-known member
  • Dec 10, 2013
    1,333
    93
    48
    homagama
    Second one is cleaner and more manageable. It is more readable and gives the complete picture. When the application grows and when you start adding more code inside the if statement, having an enclosed else part also helps you to keep the code maintainable.

    agree machan :D
     

    Banned!

    Member
    Jun 30, 2013
    10,779
    1,070
    0
    කෝඩ් එකටම ෆෝකස් කරන්න එපා මචං. ඒක වැදගත් නෑ. ඒක නිකන් ඩමි කෝඩ් එකක්. මට ඕන උනේ ඔය රීඩිරෙක්ට්ස් තියෙන තැන්වලදි if else block ඇතුලෙම දාන්න ඕනද කියන එක දැනගන්න. මොකද රීඩිරෙක්ට් වෙන නිසා ඊට යට ටික වැඩ කරන්නෑනේ කියල හිතල.

    freelancing wage nam 1st one ok, :P
    company ekaka wada nam 2nd one thama itin,
     

    BLACKLIST_MEMBER

    Well-known member
  • Feb 9, 2008
    37,854
    14,810
    113
    127.0.0.1
    1st method.
    Professional PHP Developers la use karanne 1st method eka.

    Eetapasse eka readable wenna wrapper ekak athule daanawa.

    ekata heethuwa:

    IF / Else statesments use karanakota
    dan trend eka Else eka atha arinawa default eka yatin set karala.

    ethakota palaweni kotasa witharai execute wenne ethakota yata kaalla execute karanna process eka use wenne naha.
    execution time eka adui ethakota code eka run wenna. performance wadie. OPCode Cache eken use wenawa eetapasse.

    IF statements wala OR, AND use wenakotath oya wage.

    example:

    Code:
    if ( false_statement OR true_statement AND true_statement) 
    then {
    return (function)
    }
    
    do that.
    me code eka php code eka execute wenakota, mulin thiyena OR ekata mulin thiyena kotasa TRUE una gaman IF statement eka ethanin ehaata execute karana eka nawaththanawa. AND kaallata yanna awashya nathi nisaa.
    OR ekata meha kotasa FALSE unoth witharai next kotasata yanne.
    oka gena php.net eke thiyenawa.

    oya wage godak dewal thiyenawa kaalayath ekka igenaganna ona dewal. Code eka run una pamanin eka efficient wenne naha. stackoverflow athi ona tharam oya gana katha karala
     
    Last edited:

    Jecob Boman

    Well-known member
  • Dec 10, 2013
    1,333
    93
    48
    homagama
    1st method.
    Professional PHP Developers la use karanne 1st method eka.

    Eetapasse eka readable wenna wrapper ekak athule daanawa.

    ekata heethuwa:

    IF / Else statesments use karanakota
    dan trend eka Else eka atha arinawa default eka yatin set karala.

    ethakota palaweni kotasa witharai execute wenne ethakota yata kaalla execute karanna process eka use wenne naha.
    execution time eka adui ethakota code eka run wenna. performance wadie. OPCode Cache eken use wenawa eetapasse.

    IF statements wala OR, AND use wenakotath oya wage.

    example:

    Code:
    if ( false_statement OR true_statement AND true_statement) 
    then {
    return (function)
    }
    
    do that.
    me code eka php code eka execute wenakota, mulin thiyena OR ekata mulin thiyena kotasa TRUE una gaman IF statement eka ethanin ehaata execute karana eka nawaththanawa. AND kaallata yanna awashya nathi nisaa.
    OR ekata meha kotasa FALSE unoth witharai next kotasata yanne.
    oka gena php.net eke thiyenawa.

    oya wage godak dewal thiyenawa kaalayath ekka igenaganna ona dewal. Code eka run una pamanin eka efficient wenne naha. stackoverflow athi ona tharam oya gana katha karala

    මමත් දැක්ක එක එක ලය්බරීස් රීඩ් කරද්දි ඔය විදියට ලියල තියෙනව. නමුත් මම වෙනද ලියන්නේ 2වෙනි විදියට. ඒකයි ඇහැුවෙ. බට් මට තාමත් කියවල තේරුම් ගන්න ලේසි 2වෙනි එක. :P
     

    TNHM

    Well-known member
  • Jan 3, 2017
    5,328
    15,488
    113
    First method එක තමයි හොද

    බෙස්ට් ප්‍රක්ටික්ස් එක තමයි method එකකින් පුළුවන් තරම් ඉක්මනට return වෙන එක.

    PHP:
    if(canLogin) {
    	if(isActive) {
    		if(isLogin) {
    			//do somthing here
    		}else{
    			return Error("not logged in")
    		}
    	}else{
    		return Error("not active")
    	}
    }else{
    	return Error("cannot login")
    }



    මේ වෙනුවට


    PHP:
    if(!canLogin) {
    	return Error("cannot login")
    }
    if(!isActive) {
    	return Error("not active")
    }
    if(!isLogin) {
    	return Error("not logged in")
    }
    			
    			
    // Do something ehere


    කලින් රෙටර්න් කරාම මේන්ටේන් කරන්න සහ කියවන්න ලේසි
     
    Last edited:

    Jecob Boman

    Well-known member
  • Dec 10, 2013
    1,333
    93
    48
    homagama
    First method එක තමයි හොද

    බෙස්ට් ප්‍රක්ටික්ස් එක තමයි method එකකින් පුළුවන් තරම් ඉක්මනට return වෙන එක.

    PHP:
    if(canLogin) {
    	if(isActive) {
    		if(isLogin) {
    			//do somthing here
    		}else{
    			return Error("not logged in")
    		}
    	}else{
    		return Error("not active")
    	}
    }else{
    	return Error("cannot login")
    }



    මේ වෙනුවට


    PHP:
    if(!canLogin) {
    	return Error("cannot login")
    }
    if(!isActive) {
    	return Error("not active")
    }
    if(!isLogin) {
    	return Error("not logged in")
    }
    			
    			
    // Do something ehere


    කලින් රෙටර්න් කරාම මේන්ටේන් කරන්න සහ කියවන්න ලේසි

    මමත් දැක්ක මචං ගොඩක් උන් මේ වගේ ගහනව. මම හිතන් හිටියේ කලින් ක්‍රමේදි interpreter එකෙන් අදාල නැති බ්ලොක්ස් ignore/skip කරල දාන නිසා අවුලක් නෑ කියල. අනිත් එක 2වනි ක්‍රමේදි එහෙම ස්කිප් වීමක් නෑනේ එක දිගට රන් වෙනව ඉතින් හිතන් හිටියේ ඒ අනුව බැලුවම 2වනි ක්‍රමේ අවුලක් කියල. මම පලවනෙි ක්‍රමේට වඩාත් කැමති වෙන්න හේතුව. ඒක කියවන්න ලේසි. මොකද හොද ලොජිකල් flow එකක් තියෙන නිසා. :D
     

    BLACKLIST_MEMBER

    Well-known member
  • Feb 9, 2008
    37,854
    14,810
    113
    127.0.0.1
    මමත් දැක්ක එක එක ලය්බරීස් රීඩ් කරද්දි ඔය විදියට ලියල තියෙනව. නමුත් මම වෙනද ලියන්නේ 2වෙනි විදියට. ඒකයි ඇහැුවෙ. බට් මට තාමත් කියවල තේරුම් ගන්න ලේසි 2වෙනි එක. :P
    කියවල තේරුම් ගන්න එකයි performance එකයි කතන්දර දෙකක්.

    ඔය codes කියව කියව ඉන්නේ නැහැ. wrapper එක ඇතුලේ ලියන්නේ ඒකයි.


    For an instance

    Code:
    return $this ->redirectIfLoginFail()

    ඔච්චරයි කියවන කෝඩ් එකේ තියෙන්නේ.

    IF statements ඔක්කොම තියෙන්නේ RedirectIfLoginFail() මෙතඩ් එක ඇතුලේ
    ඒවා ලියනකොට තමයි පෆොමන්ස් friendly වැඩ ඔක්කොම දාල ලියන්නේ. ඊටපස්සේ ඒ මෙතඩ් එක cache වෙලා තියෙන්නේ.

    ඔව් උබට ඉතින් ඕනම ලාමක විදිහට කෝඩ් එක ලියපං රීඩ් කරන්න ලේසි වෙන්න කියල. ඒවා එළියේ ලියන කෝඩ්. නමුත් ඇත්තටම රන් වෙන කෝඩ් එක ලියපන් ටෙක්නික් එකට හරියට efficient විදිහට. මොකද ආපහු ඒවා refactor කරන්නේ නැහැ කියව කියව සාමාන්‍යයෙන්.

    read කරන්න ලියන තැන ලියන කෝඩ් එකයි, ඇතුලේ ලියන කෝඩ් එකයි දෙක දෙකක්. දෙවිදිහකට ලියන්නේ.