Stránka: 1 z 1
| [ Príspevkov: 26 ] | |
Autor | Správa |
---|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
Mám takú neobvyklú otázku: Ako písať kód, aby bol dobre a ľahko čitateľný, keď si ho pozriem o rok, aby som okamžite videl, kde čo je a tak podobne. Mám pár tipov, čo ako robiť, no ale niekedy to je fakt bordel, čo napíšem... Aj keď zo začiatku to vyzerá ako celkom pekne naštýlovaný kód.
Aký máte štýl? (na googli som našiel)
|
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 | 30 Bydlisko: Bratislava |
par jednoduchych zasad
1. odsadzovanie tabulatormi
2. logicke kusy kodu oddelit volnym riadkom, alebo aj dvoma
3. !!! zmysluplne komentare (cize nie "odkladam si ID do session" lebo to vidis aj bez komentara, ale "ID do session pre neskorsie overenie prihlasenia"... a podobne)
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
4.) vytvárať a používať funkcie nikdy nezaškodí
5.) premyslieť si vopred čo a ako bude fungovať a podľa toho logicky postupovať
6.) nemiešať obsah s formou kým to nie je naozaj nutné
7.) snažiť sa vždy nájsť čo najjednoduchšiu a najefektívnejšiu cestu k splneniu cieľa
8.) komentovať len to, čo je komplikované a určite nie každý riadok funkcie ! v komentároch nevysvetľujeme, len opisujeme, má nám to len pripomenúť ako sme postupovali, nie vysvetliť vznik sveta
_________________ C#, PHP, ... |
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
v tom prvom bode by som asi nesúhlasil. Keď robíte viacerí na jednom kóde, jeden môže mať tabulátor nastavený na 4 znaky a druhý na 2 znaky, to ti môže narobiť bordel.
Tie volné riadky sú dobré, ale pri 4000 riadkoch v jednom súbore zanedbateľné Skúšal som aj päťriadkové komentáre na odlíšenie logických častí, uvidím, ako to bude vyzerať celkovo v kontexte.
Inak, sa mi páči takáto vec:
Kód: $premenna = "vselico mozne a sem hodim aj nejaku inu premennu {$stara_premenna}. Ze je to pekne?" Je to o niečo elegantnejšie ako Kód: $premenna = "vselico mozne a sem hodim aj nejaku inu premennu ".$stara_premenna.". Ze je to otrasne?"
// ako tak čítam http://hysteria.sk/prielom/10/#8, tie tabulátory nie sú až tak zlé... len bohužial v mojom prípade budem musieť asi konvertovať dvojmedzery a štvormedzery na tabulátory... uvidím
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 | 30 Bydlisko: Bratislava |
rooobertek píše: v tom prvom bode by som asi nesúhlasil. Keď robíte viacerí na jednom kóde, jeden môže mať tabulátor nastavený na 4 znaky a druhý na 2 znaky, to ti môže narobiť bordel.
ak tvoj editor pri ukladani prelozi tabulator na medzery, tak to bordle narobi. pokial je ale tabulator ulozeny ako tabulator, tak je to najcistejsie riesenie. ty uvidis svoje 4 medzery, on svoje 2.
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
no jo, ale keď ďalší vývojár používa medzery namiesto tabulátorov, je to bordel. Ale to budem musieť riešiť nejako interne, čo si napísal je v poriadku.
Ďalší môj problém je, že neviem, ako pomenovávať premenné a funkcie. Máte na to systém?
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 | 30 Bydlisko: Bratislava |
ano, pomenuvavaj ich vystizne
funkcie od ktorych ocakavas ze vracaju nejake data nazyvaj get.... (napr getUsers)
funkcie ktore nieco testuju a vracaju boolean, sa zvyknu nazyvat is... (napr isUserLogged)
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
Treba si prečítať podobný dokument (najlepšie od autorov daného jazyka).
Inak práve tebou citovaný príklad som prestal používať, pretože moje súčasné IDE (Eclipse) nezvýrazňuje takto zapísanú premennú a dá sa to potom prehliadnuť (neviem, ako to zvýrazňovanie zapnúť, je celkom možné, že sa to dá pomerne jednoducho).
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
no aj ja kus k prehľadnosti prispejem určite si osvoj nejaký prehľadný spôsob písania podmienok napr.: Kód: if( $i ==0 ) echo "ahoj"; else echo "cau";
teraz myslím konkrétne tie znky "=!" apod teda nie Kód: if($i=0&&$z==5&&$meno=$_session["meno"]&&$id=$iduzivatela) $pes="xy"; $krivynos="velmikrivy"; $noha=$ruka;
ale skôr Kód: if( $i = 0 AND $z = 5 AND $meno = $_SESSION["meno"] AND $ID= $ID_uzivatela ) $pes = "xy"; $krivynos = "velmikrivy"; $noha = $ruka;
ako vidíš je tam rozdiel ...
ďalej ti spomýnané taby .. určite praktické ...
ja si často "poznamkujem celky" ... edtior mi to farebne zvýrazňuje preto sa veľmi ľahko viem orientovať.
pokiaľ máš 4000 riadkový kód tak to rozdeľ na viac súborov ... ale podľa mňa 4000 riadkový kód nie je efektívny ...
oddeľ logickú časť od výstupu .. teda aspoň ja to tak robím teda mám len čisté PHP bez html značiek ...
nepoznamuj všetko .. rob čo najmenej, čo najkratšie ale nejvýstižnejšie poznámky .. pretože zpoznamkovaný každý riadok prispieva ku neprehľadnosti, ja osobne nepoznamkujem a keď náhodov tak buď logické celky alebo veci ktoré na 100% zabudnem alebo by som dlho hladal súvislosti ...
v poslednej dobe sa mi osvedčilo používať pravidlá na premenné teda reťazce napr. $s_premenna alebo $r_premenna ;; sql dobyty $q_kategorie ;; polia $a_kategorie ;; cisla $n_cislo alebo $c_cislo ;; $o_objekt
//samozrejme ja svoj striktný systém mám
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
tominator, nehnevaj sa, ale si schizofrenik..
na jednej strane nám hovoríš, ako krásne si často poznámkuješ celky a na druhej strane píšeš, citujem : "ja osobne nepoznamkujem a keď náhodov...."
povieš nám teda ako to je ? mám pocit, že v tom máš trocha mišung (podobne ako v pravopise)
_________________ C#, PHP, ... |
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
no, toto nepovažujem za pekné riešenie... Kód: if( $i ==0 ) echo "ahoj"; else echo "cau";
Strapaté zátvorky mám omnoho radšej ako toto
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 10.02.07 Prihlásený: 14.08.09 Príspevky: 255 Témy: 27 | 27 Bydlisko: KE |
formatovanie nie je az take dolezite,
predpokladam, ze OOP ti nic nehovori, ale co ak predsa.. :S
mat logicky rozdelene veci do tried, vyuzivat dedicnost.. pokial su veci logicky rozdelene do tried / suborov, tak nemas problem..
nepouzivat na jeden ucel viac kuskov kodu, DRY (si vygoogli)
samozrejme phpdoc..
a neviem co sa tyka formatovania, tak pisat tak, aby sa to tebe pacilo.. (kto pisal v ruby, vie o com hovorim, tam je kod jednoducho nadherny) pametaj, ze kod je aj trochu umenie, a tak to musi aj vyzerat..
_________________ drahi hackeri! teraz mozete okamzite premazat cely tento server! stlacte skratku ALT+F13 |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
el mariachi_ samozrejme, dočítaj vetu
Tominator píše: ja osobne nepoznamkujem a keď náhodov tak buď logické celky alebo veci ktoré na 100% zabudnem alebo by som dlho hladal súvislosti ...
rooobertek
: aj tebe odporúčam si prečítať vetu hneď za príkladom ... išlo o to čo je uprostred zátvoriek uza if a ďalej to napísal "aby bolo"
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
zero0x, zle predpokladáš, v OOP robím, ale robiť v OOP všetko je podľa mňa hovadina. PHP nie je objektovo orientovaný jazyk, objekty sú len nadstavba.
Formátovanie nie je až tak dôležité, ak pracuješ sám. Ak pracuješ v tíme, popísal.
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 10.02.07 Prihlásený: 14.08.09 Príspevky: 255 Témy: 27 | 27 Bydlisko: KE |
samozrejme su vynimky, kde to netreba (helpers), ale inak je rozumne pouzivat oop. ja pouzivam oop na routing, databazu, generovanie javascriptu, napriklad aj na spracovanie nakupneho kosika..
_________________ drahi hackeri! teraz mozete okamzite premazat cely tento server! stlacte skratku ALT+F13 |
|
Registrovaný: 22.11.07 Prihlásený: 26.02.10 Príspevky: 253 Témy: 1 | 1 Bydlisko: 127.0.0.1 |
neda my nespomenut tento odkaz:
Kód: http://hysteria.sk/prielom/10/#8
napisal to linus torvalds ako definicia formatovania zdrojovych kodov linuxu. kedze ma php a c skoro identicku syntax pouzivam tento styla na viacero jazykov (php, c, c++, perl) ma to logyku. kodim podla toho uz odzaciatku. co sa tyka medzier a tabulatorov. drzim sa hesla "co sa da konfigurovat to je dobre". ked je dane ze dokument ma mat 8 medzier tak sa kazdemu bude zobrazovat 8 medzier. to moze byt metuce pre ludi co doteraz kodili s odsadenim o 2 medzerach. preto pouzivam tabulatory pretoze si moze kazdy nastavit dlzku tabulatora. ci uz bude mat velkost 8mich alebo 1 medziery neovplivni to tabulator dalsieho kodera ktoremu to vyhovuje uplne inak.
_________________ PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber... |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
sú časti php kde je oop naozaj výhodné použiť, ale pri väčšine úkonov je to maximálna zbytočnosť
samozrejme, to čo si zero0x vymenoval je fajn keď to robíš v oop, ale to predsa nie je hlavná časť stránky a zvyšok čo?
Osobne by som povedal, že oop netreba pri php a sú výnimky, kedy oop treba Prípadov, kedy oop je nevhodné použiť je naozaj viac ako dosť.
_________________ C#, PHP, ... |
|
Registrovaný: 10.02.07 Prihlásený: 14.08.09 Príspevky: 255 Témy: 27 | 27 Bydlisko: KE |
el mariachi píše: Prípadov, kedy oop je nevhodné použiť je naozaj viac ako dosť.
exempli gratia ?
_________________ drahi hackeri! teraz mozete okamzite premazat cely tento server! stlacte skratku ALT+F13 |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
tema je jasna, takze nech sa to nezvrhne na flame okolo oop
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
zero0x píše: formatovanie nie je az take dolezite zero0x píše: pametaj, ze kod je aj trochu umenie, a tak to musi aj vyzerat.. Ďalší schyzofrenik?
Formátovanie nie je dôležité, len ak sa sám k svojmu kódu už nikdy nechceš vrátiť a nikdy ho nikomu druhému neposkytneš. Horšie je, že nikdy dopredu nevieš, či sa taká situácia nevyskytne, takže formátovanie je dôležité.
Ako ste na tom s dĺžkami riadkov - vyžadujete striktne 80 znakov, alebo to považujete za prežitok?
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 10.02.07 Prihlásený: 14.08.09 Príspevky: 255 Témy: 27 | 27 Bydlisko: KE |
lol
tym som myslel, ze dolezitejsie ako formatovanie je logicke rozdelenie kodu a neopakovanie - a z kontextu to aj vyplyva, no ale my sme primitivni tak sa zabavame odstrihnutim casti z kontextu...
a krasa kodu != formatovanie (aj ked vecsinou je to o formatovani), tym myslim nazvy funkcii, premennych.. ale opet je to jasne z kontextu, no ale co uz..
_________________ drahi hackeri! teraz mozete okamzite premazat cely tento server! stlacte skratku ALT+F13 |
|
Registrovaný: 22.11.07 Prihlásený: 26.02.10 Príspevky: 253 Témy: 1 | 1 Bydlisko: 127.0.0.1 |
p360t píše: Ako ste na tom s dĺžkami riadkov - vyžadujete striktne 80 znakov, alebo to považujete za prežitok?
80 je prezitok z dob kedy sa pisalo na terminaly 80x25 znakov. kazdopadne je to ansi standard preto sa ho stale drzim. i ked dnes to uz vyuzitie naozaj nema. tiez to ale prispieva k vzhladu kodu a hlavne pouzitelnosti. nikomu sa predsa nechce scrollovat cez 2 obrazovky koli kednomu riadku x)
_________________ PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!!
Je povolených max. 5 riadkov s veľkosťou písma 9 (rozlíšenie 1280x1024px).
Sprava pre vedenie fora: ake nerespektovanie pravidiel. ved som mal v podpise citaciu na 2 riadky omg? lol? no a este jabber ale to neni moja chyba ze tu nemate input aj na jabber... |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
zero0x: "My" (nie?) sme primitívni, "my" si jednoducho všímame nezrovnalosti. Kontext, o ktorom hovoríš sa aspoň podľa môjho názoru týka len formátovania, pretože vete, z ktorej pochádza druhá citácia, bezprostredne predchádza veta a zátvorka týkajúca sa formátovania. Krása kódu != formátovanie - súhlasím, ale ty to v citovanom príspevku nikde nespomínaš.
Samozrejme, všetky tvoje príspevky ja môžem len interpretovať, ich autorom si ty a jediná pravda je tá tvoja, takže áno, som strašný primitív a úprimne sa ti ospravedlňujem, že som kvôli svojej primitívnosti nevidel tak jasný kontext a tak primitívne som na ňu poukázal. V budúcnosti si isto budem dávať veľký pozor na kontexty a iné básnické prostriedky, ktoré vy neprimitívni OOP-only-and-only programátori používate.
A teraz by si mohol aj niečo k téme a napr. mi odpovedať na moju otázku ohľadom dĺžky riadku (a seriózne ma to zaujíma).
vlakno: hoci sú dnes väčšie monitory, sú prostredia, ktoré ti zobrazujú viac vecí naraz a tak sa môže stať, že okienko s kódom má naozaj len tých 80-100 znakov (a preto ma to zaujíma).
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 | 96 |
el mariachi a p360t: kto chce pochopiť pochopí, kto potrebuje vyripovať spôsob si nájde a zmysel je nulový ..., teda pozor: zneprehľadňuje to tému
p360t a 80znakov: ešte sa mi asi nepodarilo urobiť 80 znakový reťazec takže mám v priemere 20-40 znakov, takže aj na 800x600 to prečítate ...
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
Tominatorko, prosím ťa, asi začínam slepnúť.. môžeš mi prosím ťa ukázať, kto a kde tu písal o 80 znakových reťazcoch ? Pokiaľ viem, tak aktuálne tu je diskusia o 80 znakových RIADKOCH, čo je teda poriadny rozdiel...
_________________ C#, PHP, ... |
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 | 96 |
Prosím vás, nechcete si to riešiť radšej cez súkromné správy? Hádky hovno pomôžu niekomu, kto sem príde za rok a bude sa chcieť čo-to priučiť. Naučí sa akurát nečítať pcforum.
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Stránka: 1 z 1
| [ Príspevkov: 26 ] | |
|