Štábna kultúra kódu

Sekcia: Programovanie 12.08 | 18:11
Avatar bedňa LegacyIce-antiX  Administrátor

Otázka je ako píšete kód, keď nie ste zviazaný nejakou spoluprácou na projekte, alebo proste len chcete niekde prispieť a dodržiavať nejaký code style.

Ja osobne mám najviac rád vzdušný kód, aby sa kód neudusil a aby prúdilo okolo neho kopec 02, hoci napr. v Pythone je klasika napísať, napr.:

reader=csv.reader(csvfile,delimiter=';')

kód je totálne udusený a na prvý pohľad tam nevidím psychologické oddeľovače ničoho, hlavne keď je takých riadkov pod sebou stovky. Radšej mám zápis:

reader = csv.reader (csvfile, delimiter = ';')

Zmieril som sa s tými že pythonisti zlejú funkciu a parametre funkcie do jedného celku, takže dnes už píšem:

reader = csv.reader(csvfile, delimiter = ';')

A príde mi to už OK, ale oddeľujem aspoň tie parametre.

Mno a teraz tá hejterská otázka, čo sa vedie odkedy programovanie existuje, medzery vs tabulátor. Osobne preferujem tabulátor, hoci pythonisti v jazyku závyslom na odsadzovaní preferujú niečo čo má viac nevýhod v jednoduchých editoroch a povedzme v moderných editoroch je to "SKORO" jedno.

A tiež otázka, kedy píšete apostrofy a kedy úvodzovky, máte na to nejaké pravidlo?

Tak ako najrašej píšete vy?

Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
    • RE: Štábna kultúra kódu 12.08 | 19:15
      Avatar Miroslav Bendík Gentoo  Administrátor

      Parametre sa v pythone píšu s medzerami ak majú anotácie. Bez anotácií sú správne bez medzery okolo znaku = a medzerou za čiarkou. Tuším, že to slúži na ľahšie rozlíšenie medzi priradením (hodnota = 'xx') a argumentom (argument='xx').

      Čo sa týka tabov, citujem:

      For the same reason I recommend always using tabs on Unix as well (thus indenting by 8 positions there), but the majority of Python users seem to be against me.
      --Guido.van.Rossum

      V zásade ľudia sú blbí a nevedia používať whitespace. Toť dôvod, prečo medzery. Mimochodom python aspoň zvolil rozumnú cestu - povoliť oba (od trojky je zakázané mixovanie v rámci toho istého súboru). Také yaml má zakázané použitie tabov a s defaultnými 2 medzerami vyzerajú súbory nečitateľne.

      Čo sa týka úvodzoviek - pre stringy viditeľné u užívateľa používam dvojité, pre interné stringy jednoduché.

      • RE: Štábna kultúra kódu 12.08 | 21:47
        Avatar bedňa LegacyIce-antiX  Administrátor
        Parametre sa v pythone píšu s medzerami ak majú anotácie. Bez anotácií sú správne bez medzery okolo znaku = a medzerou za čiarkou.

        V tomto smere som ja zas autista, keď je tam rovná sa automaticky ide medzera, je pravda, že podobné diskusie som mal aj o C/C++ a nedokázali ma presvedčiť :-) Rovnako si idem matematické funkcie.

        For the same reason I recommend always using tabs on Unix as well (thus indenting by 8 positions there), but the majority of Python users seem to be against me. --Guido.van.Rossum

        To som rád, že ma to nesralo samého, hoci fakt musím uznať, že dnes to už nie je moc cítiť. Ale keď to povie legenda, som rád že to cíti rovnako.

        Čo sa týka úvodzoviek - pre stringy viditeľné u užívateľa používam dvojité, pre interné stringy jednoduché.

        Takto pekne jednoducho vysvetlené som to hádam ešte ani nevidel. Začnem sa tým riadiť.

        Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
    • RE: Štábna kultúra kódu 12.08 | 21:38
      Avatar Lukáš Staňa Arch, CentOS, Debian  Používateľ

      Keď potrebujem rýchlo vypľuť myšlienku z hlavy von, píšem, ako mi prsty narástli. Sú určité výrazy, kde mi nejako automaticky ide písať single quotes, inde zase double quotes. Ak ostávam v stále kontexte tej istej úlohy - čiže nepíšem kód prerývane a naprepínam sa medzi inými úlohami, tak sa v ňom aj viem orientovať. Ak ho potrebujem opustiť na dlhší čas, pustím na neho black a isort, aby som sa nezhrozil, keď ho znova otvorím.

      • RE: Štábna kultúra kódu 12.08 | 21:53
        Avatar bedňa LegacyIce-antiX  Administrátor

        Ja som zas kopec času strávil tým, že som si zobral nejakú knižnicu a musel som ju celú prepísať aby mi padla do oka. Časom som pochopil že sú to nepodstatné vecí a povedzme som menej autista :-)

        Dnes už tiež často sáčem kód spakruky a upravujem ho až vo finálnej forme.

        Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
    • RE: Štábna kultúra kódu 13.08 | 09:54
      Avatar LUcoRP Debian, *Ubuntu, Android  Administrátor

      C je spravne :)

      Ked pisem v Pythone, snazim sa dodrziavat PEP 8. Moje IDE ma upozornuje na preslapy. Ma to obrovsku vyhodu v tom, ze nech chytis kod kohokolvek, vies sa sustredit na logiku a nemusis riesit to, ze ti nevyhovuje styl zapisu toho-ktoreho vyvojara.

      Odpadli klasicke hadky z npr. PHP ktore by inak vznikali ako pri kazdom jazyku. Ci pouzivat:

      funkcia ($premenna) {
          // nejaky kod
      }
      

      alebo

      funkcia ($premenna)
      {
          // nejaky kod
      }

      Alebo smakulady v podobe miesania syntaxi v PHP, nazvov premennych s diakritikou atd.

      Ked sa niekto utrhne, proste ho odkazes na PEP a je po probleme.

      git blame | Muj Desvorc je vetsi nez tvuj!
      • RE: Štábna kultúra kódu 13.08 | 11:12
        Avatar bedňa LegacyIce-antiX  Administrátor

        A čo toto:

        Spaces are the preferred indentation method.

        V Pepku sa mi nepáčia ani tie kecy ako sú zlé medzery v niektorých prípadoch, hlavne okolo rovná sa a matematiky. Nemôžem sa s tým zrovnať.

        Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org