Programming ඇඩවයිස් එකක්

virginboy27

Well-known member
  • Nov 9, 2018
    979
    1,419
    93
    කොල්ලනේ coding style 2 ක් ගැන උබලගෙ ඔපීනියන්ස් ඕන. මේ දෙකම බලල උත්තරෙයි ඇයි ඒක තෝරගත්තෙ කියලත් දාන්න.

    ගැටලු අංක 01
    PHP:
    // style 01
    if ($someVar) {
        return $someVar;
    } else {
        return null;
    }
    
    // style 02
    if (!$someVar) {
        return null;
    } else {
        return $someVar;
    }

    ගැටලු අංක 02
    PHP:
    // style 01
    if () {
        
    } else {
        
    }
    
    // style 02
    if ()
    {
        
    }
    else
    {
        
    }
     

    virginboy27

    Well-known member
  • Nov 9, 2018
    979
    1,419
    93
    (01)

    !$someVar ? null : $someVar ;

    (If you don't have to perform any operation inside expression then go with inline statement)

    (02)

    it does not matter both are similar you can choose what you want
    අනේ බන් යන්නෙ කොහෙද මල්ලෙ පොල් උත්තර දෙන්න එපා.

    ටර්නරි ඔපරේටර්ස් ගැන මම ඇහුවෙ නෑ. මම ඔය ගොඩක් සරලව ගැටලුව දැම්මේ මොකදට පත කෝඩ් සාම්පල් විදියට දාන්නේ?

    අනිත් එක මම දන්නව දෙකම එකයි කියල එත් උබල කැමති මොකටද හා ඇයි කැමති කියල ඇහුවෙ.

    මගේ ප්‍රශ්නෙ ගොඩක් සංකිරණද බන්?
     

    TNHM

    Well-known member
  • Jan 3, 2017
    5,351
    15,597
    113
    Question 1;

    Code:
    // style 02
    if (!$someVar) {
        return null;
    } 
    return $someVar;

    principle එකක් තියෙනවා method එකෙන් පුළුවන් තරම් ඉක්මනට return කරන්න කියලා. සහ nested if දාන්න ඕන වෙන්නේ නැ.

    Question 2;
    Style 1. කියවන්න ලේසි මට නම්.
     

    Anonymous_Abstract

    Well-known member
  • Aug 7, 2018
    6,036
    4,570
    113
    Messier 87
    අනේ බන් යන්නෙ කොහෙද මල්ලෙ පොල් උත්තර දෙන්න එපා.

    ටර්නරි ඔපරේටර්ස් ගැන මම ඇහුවෙ නෑ. මම ඔය ගොඩක් සරලව ගැටලුව දැම්මේ මොකදට පත කෝඩ් සාම්පල් විදියට දාන්නේ?

    අනිත් එක මම දන්නව දෙකම එකයි කියල එත් උබල කැමති මොකටද හා ඇයි කැමති කියල ඇහුවෙ.
    ehanam ithin oba obatama hadala style ekak hada ganinko anith eka khoma code karath obata vedak na na :lol: :lol: :lol:
     

    deepbug

    Junior member
  • Feb 11, 2017
    62
    60
    18
    Cyberspace
    අංක 1 තියෙන ක්‍රම 2 අතරෙ වෙනසක් නෑ. (ඒ දෙක styles 2ක් කියලා කියන්නත් බෑ). දෙකේම තියෙන්නෙ return statement එකක් නිසා else එකක් අවශ්‍ය වෙන්නෙත් නෑ. Idea එක සෘජුවම දැක්වෙනවා නම් දෙකෙන් ඕන එකක් පාවිච්චි කරන්න පුළුවන්. හැබැයි තවත් හොඳයි සරල අවස්ථාවක් නම් return $someVar ? $goodValue : null; කියලා දෙන එක.

    අංක 2 සම්බන්ධව නම් 1TBS (style 01) තමා පිලිගත හැකි එකම style එක. brace එක ඊලඟ පේලියට එනවා නම් එන්න පුළුවන් function definition එකක විතරයි. ඒ function signature එක සහ body එක අතර ඇහැට පේන වෙන් කිරීමක් දක්වන්න. මම ඒ විදිහ පාවිච්චි කරන්නෙ C/C++ වලදි විතරයි, Java වල එකම පේලියෙ brace එක එන තමා මට හුරු. අනික දැන් හුඟක් languages, code formatters පාවිච්චි කරන්නෙ එකම පේලියෙ brace එක එන style එක. නිකං බොරුවට brace එකකට line එකක් නාස්ති කරන එකේ තේරුමක් නෑ කොහොමත්. (දෙවෙනි style එක මං පිලිගන්නෙ GNU project එකක විතරයි, ඒකත් personal taste එකක් විදිහට විතරයි)
     

    deepbug

    Junior member
  • Feb 11, 2017
    62
    60
    18
    Cyberspace
    හුඟක් languages වලට නම් style එක ගැන ගැටළුවක් නෑ, standard style එකක් තියෙන නිසා. PHP වලට නම් PSR-2 එක තියෙනව නේ?
     

    BLACKLIST_MEMBER

    Well-known member
  • Feb 9, 2008
    37,854
    14,813
    113
    127.0.0.1
    oya styles ekak wath nemei mage style eka meka.
    ගැටලු අංක 01
    mechcharai code eka. 1 single line
    PHP:
    return $somevar ?? null;
    ternary operator nathuwa liwwath else skip karanawa mehema. hethuwa: short and fast. else skip karahama execute wenawa speed
    Code:
    if ($someVar) {
        return $someVar;
    }
    return null;

    ගැටලු අංක 02
    oka echchara important naha, IDE eken auto structure eka hadana nisa eke widihata thiyenna arinawa
     
    Last edited:

    Anonymous_Abstract

    Well-known member
  • Aug 7, 2018
    6,036
    4,570
    113
    Messier 87
    අංක 1 තියෙන ක්‍රම 2 අතරෙ වෙනසක් නෑ. (ඒ දෙක styles 2ක් කියලා කියන්නත් බෑ). දෙකේම තියෙන්නෙ return statement එකක් නිසා else එකක් අවශ්‍ය වෙන්නෙත් නෑ. Idea එක සෘජුවම දැක්වෙනවා නම් දෙකෙන් ඕන එකක් පාවිච්චි කරන්න පුළුවන්. හැබැයි තවත් හොඳයි සරල අවස්ථාවක් නම් return $someVar ? $goodValue : null; කියලා දෙන එක.

    අංක 2 සම්බන්ධව නම් 1TBS (style 01) තමා පිලිගත හැකි එකම style එක. brace එක ඊලඟ පේලියට එනවා නම් එන්න පුළුවන් function definition එකක විතරයි. ඒ function signature එක සහ body එක අතර ඇහැට පේන වෙන් කිරීමක් දක්වන්න. මම ඒ විදිහ පාවිච්චි කරන්නෙ C/C++ වලදි විතරයි, Java වල එකම පේලියෙ brace එක එන තමා මට හුරු. අනික දැන් හුඟක් languages, code formatters පාවිච්චි කරන්නෙ එකම පේලියෙ brace එක එන style එක. නිකං බොරුවට brace එකකට line එකක් නාස්ති කරන එකේ තේරුමක් නෑ කොහොමත්. (දෙවෙනි style එක මං පිලිගන්නෙ GNU project එකක විතරයි, ඒකත් personal taste එකක් විදිහට විතරයි)
    :yes: :yes: :yes: :yes:godak un oye code karanava melod deyak nethuwa katapadamin api code karanna ona compiler base karagena GNU GCC left to right read karana kota JavaC right to left read karanava ithin okata compatible vidiyata coding venas karala code karanna ona godak un oka danne na oye code karanava .
     

    windows_ubuntu

    Well-known member
  • Jun 2, 2018
    17,364
    25,877
    113
    Fantasy
    Question 1 , im using style 1.
    Bcz
    මොන හරි දෙයක් තියෙනවද කියලා නෙවෙයි, නැද්ද කියලා බලන එක හෙන ඍණාත්මක යි වගේ කියලා මට හිතෙන්නේ
     

    deepbug

    Junior member
  • Feb 11, 2017
    62
    60
    18
    Cyberspace
    Question 1 , im using style 1.
    Bcz
    මොන හරි දෙයක් තියෙනවද කියලා නෙවෙයි, නැද්ද කියලා බලන එක හෙන ඍණාත්මක යි වගේ කියලා මට හිතෙන්නේ
    සමහර වෙලාවට නැති වීම වෙන්න පුලුවන් තියෙන්නෙ. 😵
     

    virginboy27

    Well-known member
  • Nov 9, 2018
    979
    1,419
    93
    Question 1 , im using style 1.
    Bcz
    මොන හරි දෙයක් තියෙනවද කියලා නෙවෙයි, නැද්ද කියලා බලන එක හෙන ඍණාත්මක යි වගේ කියලා මට හිතෙන්නේ

    Question 1 , im using style 1.
    Bcz
    මොන හරි දෙයක් තියෙනවද කියලා නෙවෙයි, නැද්ද කියලා බලන එක හෙන ඍණාත්මක යි වගේ කියලා මට හිතෙන්නේ
    මම නම් කැමති 2 වෙනි ස්ටයිල් එකට. ඒකෙදි බන් ඕන්නැති ඒව මුලදිම අයින් කරල අවශ්‍ය දේ පහලට කෝ්ඩ් කරන්න පුලුවන්නේ. නැත්නම් මේන් ලොජික් එක මැදට වගේ එනව ඒකට යටින් අනවශ්‍ය ඒව ඉතිරි වෙනව. මෙහෙම කරාම යටට යන්න යන්න තියෙන්නේ ෆිල්ටර් වෙලා අවාසානම ලොජික් එක. මට එහෙම කියවන්න ලේසියි.
     
    • Like
    Reactions: kasdbg and TNHM

    BLACKLIST_MEMBER

    Well-known member
  • Feb 9, 2008
    37,854
    14,813
    113
    127.0.0.1