Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Kuidas siis ikkagi õigesti treppida? märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
mine lehele 1, 2  järgmine
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
AMD
HV veteran
AMD

liitunud: 29.07.2003




sõnum 02.01.2007 13:55:36 Kuidas siis ikkagi õigesti treppida? vasta tsitaadiga

Kuidas siis see kõige õigem treppimine välja näeb?
Kas üldse on olemas see "kõige õigem"?
1.
if(true){
   // kood
}

2.
if(true) {
   // kood
}

3.
if(true)
{
   // kood
}

4.
if(true)
   {
   // kood
   }

5.
if(true){
   // kood
   }

Või on veel mõni "õigem" treppimismeetod olemas?

_________________
From now on, the forum is owned by AMD.That means that you are NO LONGER allowed to talk about, or even mention *ntel.


viimati muutis AMD 09.01.2007 21:13:13, muudetud 1 kord
Kommentaarid: 335 loe/lisa Kasutajad arvavad:  :: 145 :: 3 :: 12
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 02.01.2007 14:21:19 vasta tsitaadiga

Õige on järgida projekti tegemisel kokku lepitud standardit. Kui enda jaoks otsid õiget siis pole erilist vahet millist kasutad, peaasi et sa sellest kinni pead.

Mina kasutan üldjuhul Sun'i ettekirjutusi Java kohta. Ehk siis antud juhul
if (true) {
  //code
} else {
  //more code
}
Muidugi selline lihtne blokk ei ütle suurt midagi. Palju huvitavamaks lähevad asjad siis kui tulevad mängu switch/case, exceptionid, ülipikad read, hunniku parameetritega funktsioonid jne.
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
conquer
HV vaatleja
conquer

liitunud: 09.07.2005




sõnum 02.01.2007 15:50:23 vasta tsitaadiga

Ise kasutan:

if(true)
{
   //kood
}
else
{
   //kood
}

kuna see tundub mulle kõige arusaadavam. Kuid ega sel vist olulist vahet pole mida sa kasutad.

_________________
http://www.hv.ee - brauseril põhinev mäng!
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Nitro
HV kasutaja
Nitro

liitunud: 02.03.2004




sõnum 02.01.2007 15:57:10 vasta tsitaadiga

C++ puhul trepin sedasi (õigemini palju treppimisest teeb juba IDE ära):

if (toValik == 1)            // ::Jätka::
          {
                   valik = toValik;
          }
         
if (toValik == 2)           // ::Lõpeta::
          {                   
                   clrscr();
          }
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 5
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 02.01.2007 16:27:21 vasta tsitaadiga

Esiteks olen 100% nõus Ho Ho'ga - kõige parem on kasutada mingit kindlat standardit, peaasi, et kui mingit stiili kasutad, siis teed seda ühtlaselt kogu projekti ulatuses.

Aga kui siiski arutada erinevaid C-laadsete keelte treppimisstiile, siis tegelikult on seal kaks peamist komponenti mida vaadata:
1. Kuidas on loogelised sulud asetatud.
2. Mitut tühikut on treppimiseks kasutatud; kas kasutatakse tab-e.
(See, kas loogelise sulu ette või võtmesõna järele jäetakse tühik, pole vast antud kontekstis oluline.)

Mulle meeldib see lähenemine, mille Steve McConnel võtab esimesele küsimusele raamatus "Code Complete". Ta vaatab kõigepealt seda, kuidas on treppimine lahendatud C-st erinevates keeltes. Näiteks Basicu puhul taolisi treppimisvaidlusi eriti ei esine, lihtsalt pole eriti palju mõistlikke treppimise variante. Tüüpiline if-bloki kood on selline:

if condition then
    doSomething
end if


Kuna selline stiil töötab ilma igasuguste probleemideta mitmetes keeltes, siis soovitab ta kasutada võimalikult sarnast stiili ka C-laadsetes keeltes, ehk siis sedasi:

if (condition) {
    doSomething();
}


Arvatavasti on ülaltoodud stiil ka kõige levinum.

Üks oluline asi, mis ta välja toob, on kasutatava stiili lihtsus. Näiteks PEAR'i standardi kohaselt tuleb funktsioonid treppida nii:

function (parameters)
{
    doSomething();
}


funktsiooni sisus olevad struktuurid aga esimese näite järgi. Selline asi on vastuolus sellega, et treppimine oleks kogu koodi ulatuses ühesugune.

Üheks halvimaks variandiks loeb ta sellist stiili, kus kood on justkui topelt trepitud:

if (condition)
  {
    doSomething();
  }


Mulle isiklikult on kaunikesti vastumeelne järgmist tüüpi stiil, küllap peamiselt seetõttu, et pole seda ise kunagi kasutanud:

if (condition)
    {
    doSomething();
    }


Teine küsimus on see, mitu tühikut tuleks treppimiseks kasutada. Selle kohta on juba aastast 1983 olemas uurimus, kus võrreldi programmist arusaamist erineva pikkusega treppimiste puhul. Leiti, et parim loetavus oli programmidel, mille kood oli trepitud kahe kuni nelja tühikuga. Kõige madalam arusaadavus oli muidugi treppimata koodil, kuid kohe selle kannul oli kuue tühikuga trepitud kood, olgugi, et mitmed katsealused ise hindasid, et kuus tühikut tundub märksa loetavam.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 02.01.2007 16:37:42 vasta tsitaadiga

nene kirjutas:
Teine küsimus on see, mitu tühikut tuleks treppimiseks kasutada.
Alati kui võimalik kasutan ise tab'e sest nendega saab igaüks ise vaadata koodi just nii pikalt trepituna nagu talle meeldib. Enda editoris on seadistatud tab'i kuvatavaks laiuseks kaks tühikut.
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
iceincube
HV veteran
iceincube

liitunud: 18.11.2005




sõnum 02.01.2007 16:40:16 vasta tsitaadiga

ise kasutan 2 tyhikut ja just tyhikut, mitte tab-e.

reegel mida kasutan on, see, et fail/trepitus peaks nägema kõigis programmides sama välja.
Notebad-iga lahti võttes saab kõige paremini aimu, ainuke asi on see, et osades koodides on enter asendatud selle teistsuguse enteriga mida notebad enteriks ei loe. kuid siiski saab vaadata kas tegu on tab-i v tyhikutega....



if (false){
  //do something
}



kaks tyhikut on siis ka parem kui on väga palju plokke yksteise sees.
Minu jaoks on liiga palju tyhikuid jama, kuna ta venitab koodi liialt laiaks.
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 37
tagasi üles
vaata kasutaja infot saada privaatsõnum
andreie
HV vaatleja
andreie

liitunud: 09.09.2006




sõnum 02.01.2007 17:06:32 vasta tsitaadiga

Kasutada sama treppimist, mis töökaaslasedki. Toimib.

Tabulaatori standardsuurus on 8. Kahjuks ei programmeeri tänapäeval keegi enam quicksort'i, taanduste sügavus läheb suureks ja 8 ei sobi kuidagi. Been there, done that. Neljase astmega saab hakkama ilusasti; PHP-d kribades kasutan astet 2.

Kasutasin ka tükk aega tabulaatorit, kuid läksin tühikute peale üle... ja ausalt öeldes ei tunnegi puudust. Praktikas tabulaatorisuurust muutes või tabulaatoriga vaenujalal olevat tekstiredaktorit kasutades läheb kood käest ära. Samuti näitab diff siis ridu värdjalikult (ja ma kasutan diff'i iga päev, k.a. laupäev ja pühapäev.). Tühikutega neid jamasid ei ole.

GNU utiliitide hulgas on just nimelt programmikoodi vormingu paikakeeramiseks mõeldud "indent". Soovitan tutvuda ja kasutada.

P.S. Sekundeerin McConnel'i "Code Complete'is" toodud soovitustele.

_________________
Unix survives only because everyone else has done so badly.
Kommentaarid: 5 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 5
tagasi üles
vaata kasutaja infot saada privaatsõnum
Supiplex
HV veteran
Supiplex

liitunud: 11.12.2002



Autoriseeritud ID-kaardiga
sõnum 02.01.2007 19:20:18 vasta tsitaadiga

Täpselt nii, nagu soovid. Kui kord otsustatud, siis stiili muuta ei tohi.

Enamlevinud variantide puhul on lihtsalt see eelis, et IDE teeb ise treppimist.

_________________
The young lady had an unusual list,
Linked in part to a structural weakness.
She set no preconditions.
Kommentaarid: 38 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 03.01.2007 00:23:41 vasta tsitaadiga

Supiplex kirjutas:
Enamlevinud variantide puhul on lihtsalt see eelis, et IDE teeb ise treppimist.
Korralikud IDE'd lasevad sul treppimist ja üldist koodi vormindust confida. Eclipse JDT autoformatter on parim mida siiani näinud olen. Kahju et KDeveloperil või Katel midagi sama võimast pole.
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga
sõnum 03.01.2007 21:42:20 vasta tsitaadiga

mina trepin alati nii:
if(blablabla){
    //tee midagi
}else{
    //tee midagi muud
}


Alati töötanud ja ple probleeme... Ka ide on selle treppimisega ühel meelel... Kriban muidu peamiselt PHP'd, kui see siin tähtsust omab.

_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Kommentaarid: 116 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 107
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
kk001a
HV vaatleja


liitunud: 28.05.2003




sõnum 04.01.2007 17:08:36 vasta tsitaadiga

Kasutage automaatset koodi formattimist. Igasugustel IDE-del on erinavad formaatimise stiilid sisse ehitatud, võtad näiteks rippmenüüst Sun-i stiili ja vaatad milliseks IDE koodi muudab. Milleks vaevata ennast sellega mida arvuti saab automaatselt teha?
tagasi üles
vaata kasutaja infot saada privaatsõnum
tolm
HV kasutaja
tolm

liitunud: 01.01.2005




sõnum 05.01.2007 01:34:18 vasta tsitaadiga

if (true) {
//yadda
} else { /*yadda yadda*/ }


seda küll ainult php-s. kui else väga liiga pikaks venib siis saab too samamoodi nagu if mitmerealisena tehtud.
Kommentaarid: 12 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 12
tagasi üles
vaata kasutaja infot saada privaatsõnum
phpzone
HV kasutaja

liitunud: 02.04.2002




sõnum 05.01.2007 11:07:12 vasta tsitaadiga

kas tõesti muud teha ei ole, kui sellise jaburdusega oma pead vaevata?
kasutage korralikku IDE't mis ise koodi formatib.
sa võid ju oma arust superlaheda formattimise välja mõelda, kuid kui teine tegelane korraliku IDE'ga asja laht võtab siis keeratakse asi ikka IDE standardi järgi paika.

saage üle.
lisaks on olemas koodi generaatorid , automaatsed testimised (nant) ,automaatsed dokumenteerijad jne.
need ajad, kus kõik käsitsi nikerdati on möödas.

_________________
One man's constant is another man's variable
Kommentaarid: 13 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum
connor
HV kasutaja

liitunud: 19.02.2003




sõnum 05.01.2007 13:15:32 vasta tsitaadiga

ja siis kui sama asja tegemas on kakskümmend progejat ja kõigi IDE'd peal käivad ongi lõpuks koodist alles üks suur soga mida keegi enam lugeda ei taha.
Põhipoint on ammu välja öeldud - kasutada kokkulepitud standardi, olgu see siis peaprogrammeerija IDE oma või suvaline õhust võetud.
Jaburdusega ei ole kindlasti tegemist.

Või tahab keegi mergida tuhanderealisi faile millel on mustmiljon erinevust tänu treppimisele kuna igal progejal(või IDE'l) on oma "stiil"?
Kommentaarid: 31 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 28
tagasi üles
vaata kasutaja infot saada privaatsõnum
kk001a
HV vaatleja


liitunud: 28.05.2003




sõnum 05.01.2007 14:05:58 vasta tsitaadiga

See jutt pole päris õige, et igal IDE-l oma stiil. Programmeerimiskeeltel on enamasti soovituslikud formaatimise stiilid välja töötatud ja IDE-d kasutavad tavaliselt vaikimisi soovituslikku stiili. Muidugi on parem kui kasutatakse kokku lepitud ja kohustuslikku stiili, aga kui kodanik ise ei tea mis stiili kasutada siis vaikimisi IDE stiil on arvatavasti hea valik. Igatahes on see parem kui ise midagi välja mõelda, ja siis suvalises tekstiredaktoris üritada meeleheitlikult seda stiili järgida. Vaat SEE oleks kindlasti jaburdus.

PS! Kas sa merged mingis programmeerimiskeeles kirjutatud tuhanderealisi faile? See on muide veel üks näide jaburdusest, selliseid faile ei tohiks üldse mergeda vaid neid tuleks kohe refaktoorida!
tagasi üles
vaata kasutaja infot saada privaatsõnum
Urmet
HV vaatleja

liitunud: 29.07.2005



Autoriseeritud ID-kaardiga
sõnum 05.01.2007 14:52:44 vasta tsitaadiga

jutt ei olnud vist sellest et kas treppima peaks käsitsi, vaid sellest et kuidas kõige kaunim on kellegi arvates. pealegi pole alati miskit hüpper-supper-koodin-sinu-eest-ja-toon-poest-piima IDE't käepärast võtta.
ise kirjutan niivisi. kasvõi notepadi's
if (foo)
{
  bar();
} else
{
  quux();
}

int tere(void)
{
  puts("Tere maailm!");
}


ps.
tuhat(ainsus) rida koodi ühes failis ei tundu veel palju. mitmuse juures kipub kurjaks minema
Kommentaarid: 10 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 10
tagasi üles
vaata kasutaja infot saada privaatsõnum
fbrz
HV kasutaja

liitunud: 15.03.2004




sõnum 05.01.2007 14:59:12 vasta tsitaadiga

conquer kirjutas:
Ise kasutan:

if(true)
{
   //kood
}
else
{
   //kood
}

kuna see tundub mulle kõige arusaadavam. Kuid ega sel vist olulist vahet pole mida sa kasutad.

mulle meeldib ka nii kuna annab kõige parema ülevaate - loogelised sulud algavad ja lõppevad samal tasandil ning kõik, mis on nende vahel, on ilusti uuel tasandli + loogelised sulud on samal tasandil if, else või muu expressioniga, mille juurde nad kuuluvad.
Kommentaarid: 6 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 6
tagasi üles
vaata kasutaja infot saada privaatsõnum
Death
HV Guru
Death

liitunud: 06.09.2003




sõnum 05.01.2007 15:13:17 vasta tsitaadiga

Nene lemmikstiil on identne sellega mis mul välja on kujunenud.
_________________
"To be or not to be?" is a question of when, not if.
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 36
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 05.01.2007 16:46:59 vasta tsitaadiga

Urmet kirjutas:
jutt ei olnud vist sellest et kas treppima peaks käsitsi, vaid sellest et kuidas kõige kaunim on kellegi arvates.


"Kaunis" pole siiski päris õige asi mille poole püüelda, kaunis võib olla ka selline kood:
     if(foo)
  {bar();}else{
quux();}int tere
(void){puts("Tere"
);puts(" "); puts(
"maailm!");while
  (5>3){int x=15
     ;x+=1;}}


Hea treppimisstiili juures on olulisim siiski see, et treppimine annaks edasi koodi enda loogikat. Samuti ei tohiks muudatused koodis ei nõuda muudatusi treppimises - näiteks üks eelpooltoodud stiil sellele reeglile ei allu (kui tahame else-osa pikemaks kirjutada, siis peame loogelised sulud ümber asetama):

if (true) {
//yadda
} else { /*yadda yadda*/ }
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga
sõnum 05.01.2007 17:47:29 vasta tsitaadiga

btw, ma olen ka else'i nii kirjutanud ühele reale, kui sinna vaid nt üks echo käsk tuleb... muul juhul kirjutan aga nii, nagu if'i... Samas ma nt ei poolda seda, et loogelised sulud on eraldi real... loogeline sulg pole ju eraldi käsk vaid ta on if'i, for'i või mõne muu üks komponentidest, seega ei ole ju mingit põhjust asja järgmisele reale ajada...
_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Kommentaarid: 116 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 107
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Valdars
HV veteran
Valdars

liitunud: 22.02.2003




sõnum 05.01.2007 21:07:20 vasta tsitaadiga


if(true) {//{ algab siit, et järgmine rida oleks juba sisene kood
    kood(); //kindlasti peab algama tabiga või tühikutega, et saaks aru, et tegemist on sisemise koodiga
} //samale reale, et oleks näha, kus if lõppeb
else { //else uuele reale, et oleks võimalik eristada erinevaid osasid
    kood2();
}
Kommentaarid: 48 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga
sõnum 05.01.2007 23:27:34 vasta tsitaadiga

täpselt nii, aint ma olen else pannud if'i loogelise sulu lõpuga samale reale kolmel põhjusel:
1: else käib if'iga siiski kokku nagu...
2: else on nii väike sõna, et naljakas teda panna eraldi reale
3: ma olen laisk ja ei viitsi enterit vajutada väga palju

_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif


viimati muutis jnt 06.01.2007 16:27:49, muudetud 2 korda
Kommentaarid: 116 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 107
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 06.01.2007 00:41:15 vasta tsitaadiga

4: ekraaniruum pole raiskamiseks icon_smile.gif
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
fbrz
HV kasutaja

liitunud: 15.03.2004




sõnum 07.01.2007 01:25:42 vasta tsitaadiga

jnt kirjutas:
...seega ei ole ju mingit põhjust asja järgmisele reale ajada...

üks ja minu jaoks piisav põhjus: palju parem ülevaatlikkus ja selgus.
Kommentaarid: 6 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 6
tagasi üles
vaata kasutaja infot saada privaatsõnum
Death
HV Guru
Death

liitunud: 06.09.2003




sõnum 07.01.2007 02:09:56 vasta tsitaadiga

fbrz, igati nõus. kes poleks silmadega pingsalt mõnd puuduvat loogelist taga otsinud? ja sealt else pudi seest on tema puudumist või olemasolu raskem märgata...
_________________
"To be or not to be?" is a question of when, not if.
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 36
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 07.01.2007 02:33:26 vasta tsitaadiga

Death kirjutas:
fbrz, igati nõus. kes poleks silmadega pingsalt mõnd puuduvat loogelist taga otsinud?
Mina pole seda väga pingsalt juba pikemat aega teinud, iga vähegi editori nime vääriv asi oskab vastavaid sulge välja tuua icon_smile.gif
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Death
HV Guru
Death

liitunud: 06.09.2003




sõnum 07.01.2007 15:30:11 vasta tsitaadiga

Ho Ho, see väljatoomine on abiks küll aga highlightingutki on eraldi realt lihtsam märgata.
_________________
"To be or not to be?" is a question of when, not if.
Kommentaarid: 39 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 36
tagasi üles
vaata kasutaja infot saada privaatsõnum
-Innu-
HV kasutaja

liitunud: 01.12.2002




sõnum 07.01.2007 17:33:51 vasta tsitaadiga

Mulle meeldib variant:

if (true) {
  doSomething
} else {
  doSomething
}


Ja RoR progemisel: http://urgas.eu/stuff/vim.png
Kommentaarid: 16 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 16
tagasi üles
vaata kasutaja infot saada privaatsõnum
lehm2
Kreisi kasutaja


liitunud: 19.09.2004



Autoriseeritud ID-kaardiga
sõnum 08.01.2007 16:34:41 vasta tsitaadiga

aga kuidas oleks õigem htmli treppida kas iga tag tabiga eraldada?

<table>
<tr>
<td></td>
</tr>
</table>

voi nii tabiga

<table>
    <tr>
       <td></td>
    </tr>
</table>

_________________
Piilu siia, progreja!
Vajad abi Node.JS-ga ?
Võta ühendust !
Kommentaarid: 15 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 08.01.2007 19:12:38 vasta tsitaadiga

Kuna HTML-is on tavaline, et elemendid asuvad väga sügaval üksteise sees, siis kõige selle treppimine viib kaunis jaburate tulemusteni:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="et" xml:lang="et">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Test</title>
    </head>
    <body>
        <div id="container">
            <div id="main">
                <div class="section">
                    <h2>Foo</h2>
                    <p>Bulu-bulu...</p>
                    <p>Bulu-bulu...</p>
                    <table>
                        <tbody>
                            <tr>
                                <td>lahter</td>
                                <td>lahter</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </body>
</html>


Minu praktika on treppida HTML-i lihtsalt tunde järgi. Tüüpiliselt saab trepitud table, tr, dl, ol ja ul sisu.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 08.01.2007 19:18:33 vasta tsitaadiga

Eriti "tore" on üritada korralikult HTML'i treppida siis kui seda genereerida läbi mõne teise keele, a'la Java, PHP või mis iganes muu. Siis läheb igasugune treppimine üsna kiirelt ...
Umbes sama lugu on ka näiteks PLSQL'is SQL päringute genereerimisega. Kohati on asjad ikka niivõrd jubeda ülesehitusega et keegi ei sa enam aru mis värk kus asub icon_smile.gif

_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 08.01.2007 19:43:00 vasta tsitaadiga

Ho Ho kirjutas:
Eriti "tore" on üritada korralikult HTML'i treppida siis kui seda genereerida läbi mõne teise keele, a'la Java, PHP või mis iganes muu. Siis läheb igasugune treppimine üsna kiirelt ...


Mingi genereeritud lehekülje koodi puhul on tavaliselt hea, kui reavahetusedki on mõistlikus kohas, nõnda et kood ei jookse hiigelpikkade ridadena. Kui debugida on tarvis, siis on ikka kõvasti lihtsam otsida üht probleemset rida, kui ühest pikast reast probleemset kohta.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
lehm2
Kreisi kasutaja


liitunud: 19.09.2004



Autoriseeritud ID-kaardiga
sõnum 09.01.2007 20:09:13 vasta tsitaadiga

srry for opptopic aga lugedes leidsin siis ühe teksti, mis peaks siia teemasse sobima. See küll php-le mõeldud aga peaks kehtima kõigil c syntaxi stiiliga keeltel.
tsitaat:

There are three common methods for placing braces relative to conditionals:

BSD style, in which the braces are placed on the line following the conditional, with the braces outdented to align with the keyword:

if ($condition)
{
// statement
}



GNU style, in which the braces appear on the line following the conditional but are indented halfway between the outer and inner indents:

if ($condition)
>(tab){
// statement
>(tab)}



K&R style, in which the opening brace is placed on the same line as the keyword:

if ($condition) {
// statement
}



The K&R style is named for Kernighan and Ritchie, who wrote their uber-classic The C Programming Language by using this style.




viimati muutis lehm2 09.01.2007 20:53:04, muudetud 1 kord
Kommentaarid: 15 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Urmet
HV vaatleja

liitunud: 29.07.2005



Autoriseeritud ID-kaardiga
sõnum 09.01.2007 20:35:53 vasta tsitaadiga

ei näe treppimist, ainult sulgude paigutust icon_rolleyes.gif
kuskil on mingi kadu?
Kommentaarid: 10 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 10
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 09.01.2007 20:51:06 vasta tsitaadiga

quote vs code, esimene sööb whitspace ära
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Kober
HV vaatleja


liitunud: 01.01.2005




sõnum 11.01.2007 12:18:41 vasta tsitaadiga

kõige õigemat ei tohiks ju ollagi, ikka, et ise aru saaksid jne,

ise kasutan muidu :

if(true) {
   //kood
}
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
serk
HV kasutaja

liitunud: 24.05.2003




sõnum 11.01.2007 14:41:07 vasta tsitaadiga

Hehehe, ütleme nii et ma vist olen mugavaks läinud.
Reformat code klahvilühend peale ja korras icon_razz1.gif
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum
terminaator
HV kasutaja

liitunud: 05.11.2001




sõnum 13.01.2007 00:17:47 vasta tsitaadiga

Mulle meeldib järgnevalt, sest siis järgmine sama taseme rida on eelmise bloki lõpp. Ning kenasti jääb silma, kas ta on nurksulgudega ümbritsetud.

if()
    {
    // blaa
    }
else
    {
    switch()
        {
        // blaaa
        }
    }



EDIT:
kui miski teine peale inimese HTMLi genereerib, siis tuleb ta millegi muuga korda teha lasta (kui see vajalik on) - muidu võib hulluks minna.
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 6
tagasi üles
vaata kasutaja infot saada privaatsõnum
AMD
HV veteran
AMD

liitunud: 29.07.2003




sõnum 13.01.2007 01:04:53 vasta tsitaadiga

terminaator, mulle meeldib ka sedasi.

Aga kuidas switch'i treppida?
Mulle meeldib nii...

switch(X)
    {
    case 1:
        // kood
        break;
    case 2:
        // kood
    default:
        // kood
    }

_________________
From now on, the forum is owned by AMD.That means that you are NO LONGER allowed to talk about, or even mention *ntel.
Kommentaarid: 335 loe/lisa Kasutajad arvavad:  :: 145 :: 3 :: 12
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 13.01.2007 01:18:56 vasta tsitaadiga

Switch on mul umbes sama nagu sinul kuid loogelised sulud on nagu igal pool mujal, ehk siis
blah {
  // stuff
}

_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
raul72
HV kasutaja
raul72

liitunud: 23.03.2006




sõnum 15.01.2007 20:59:43 vasta tsitaadiga

ikka

if (true) {
  doSomething
} else {
  doSomething
}


ise kasutan tabe...
soovitati millegi pärast icon_confused.gif ei tea miks kasulik,
kuid mul endal suva, kuna niikuinii programm mida kasutan kuvab tabid kahe tühikuna icon_smile.gif
Kommentaarid: 13 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 10
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
neros
HV Guru
neros

liitunud: 26.11.2003




sõnum 17.01.2007 03:26:51 vasta tsitaadiga

Enamasti ikka

if (foobar)
{
  boofar();
}
else
{
  switch(barfoo)
  {
     case 1:
       farboo();
       break;
     case 2:
       faroob();
       break;
     default:
  }
//end else
}


sellisega harjutud ja suht lihtne sellisest koodist aru saada. imo.

_________________
GitHub
.NET Core & Azure baasil lahendused ja arhitektuur - kontakt.
Kommentaarid: 48 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum
2ndalpha
HV kasutaja
2ndalpha

liitunud: 03.11.2004



Autoriseeritud ID-kaardiga
sõnum 17.01.2007 04:39:06 vasta tsitaadiga


function()
{
    if (foo) {
        switch (foo) {
            case 1:
                // mida iganes
                break;
            case 2:
                // mida iganes
        }
    }
    else {
        // Päh
    }
}


Ise sellisega harjunud. Kuna progejana ei tööta kusagil, siis progen kuidas tahan:P
Kommentaarid: 23 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 22
tagasi üles
vaata kasutaja infot saada privaatsõnum
Telempe
Kreisi kasutaja
Telempe

liitunud: 02.11.2002




sõnum 17.01.2007 16:05:25 vasta tsitaadiga

Milles pidevuse puudumise loogika seisneb?

Funktsioon()
{
}

Loogikalause() {
}

_________________
ORLY? I hardly know her!
Kommentaarid: 22 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 21
tagasi üles
vaata kasutaja infot saada privaatsõnum
2ndalpha
HV kasutaja
2ndalpha

liitunud: 03.11.2004



Autoriseeritud ID-kaardiga
sõnum 18.01.2007 05:07:35 vasta tsitaadiga

Telempe kirjutas:
Milles pidevuse puudumise loogika seisneb?
Mul on nii mugavam igatahes. Muidu jätaks hoopis ühe tühja rea. Iga if-i järel nii teha on natuke overkill. Treppimine treppimiseks aga palju te tühikuid igale poole jätate?
Olen igasugu koodi kohanud

if ( funktsioon ( a, b, c ) ) {


Ja kui mööda on selline lähenemine?

muutuja1           = "aias";
muutuja2           = "sadas";
vaga_pikkmuutuja   = "saia";
Kommentaarid: 23 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 22
tagasi üles
vaata kasutaja infot saada privaatsõnum
AMD
HV veteran
AMD

liitunud: 29.07.2003




sõnum 18.01.2007 05:11:19 vasta tsitaadiga

2ndalpha, ise kasutan ka vahest sellist asja
tsitaat:

Ja kui mööda on selline lähenemine?
muutuja1           = "aias";
muutuja2           = "sadas";
vaga_pikkmuutuja   = "saia";

_________________
From now on, the forum is owned by AMD.That means that you are NO LONGER allowed to talk about, or even mention *ntel.
Kommentaarid: 335 loe/lisa Kasutajad arvavad:  :: 145 :: 3 :: 12
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 18.01.2007 10:38:00 vasta tsitaadiga

Asjad joondan alati üksteise alla kui nende vahel väikenegi seos on.
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 18.01.2007 14:25:34 vasta tsitaadiga

2ndalpha kirjutas:
aga palju te tühikuid igale poole jätate?

Ma olen ikka sellist viisi järginud, et peale võtmesõna (if, for, while, ...) alati tühik, kuid funktsiooninime ja järgneva sulu vahel mitte kunagi. Parameetrite nimekirjas katsun peale koma tühiku jätta. Muus osas talitan nii sisetunde järgi - üldiselt rohkem ruumi teeb koodi loetavamaks.

2ndalpha kirjutas:

muutuja1           = "aias";
muutuja2           = "sadas";
vaga_pikkmuutuja   = "saia";

Selle asjaga on see probleem, et muudatusi on ebamugav sisse viia. Kui näiteks otsustad sinna nimekirja lisada ühe veelgi pikema nimega muutuja, siis tuleb ka teisi ridu kohendada.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 18.01.2007 14:43:48 vasta tsitaadiga

nene kirjutas:
Selle asjaga on see probleem, et muudatusi on ebamugav sisse viia
Ei vaidle vastu kuid vahel on ka kasu niiviisi kirjutamisest.
Kui ikka on näiteks kümmekond ~1500 märgi pikkust funktsiooni väljakutset järjest kus ainsaks erinevuseks on mõned hardcoded parameetrid siis nende mitme rea peale laiali löömine ja treppimine on küll silmale ilusam vaadata kuid õigete asjade otsimine-parandamine muutub seetõttu üsna keerukaks kuna nende väikeste erinevuste leidmine pole enam sugugi lihtne.

See on küll üsna ekstreemne näide kuid pärit on see elust enesest. Too oli üks jubedamaid asju tolles projektis kuid eriti lihtsustada polnud võimalik. Eriti "tore" oli et neid hiiglapikkade ridade komplekte oli kokku mitukümmend.

Ehk siis iga töö jaoks oma tööriist, või siis antud hetkel kõige sobivam vormindus.

_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Kuidas siis ikkagi õigesti treppida? mine lehele 1, 2  järgmine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.