Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Tabulaattori vastaan välit sorsassa

Sivun loppuun

tsuriga [27.11.2007 16:44:04]

#

Pakkohan tästä oli jo oma aihe tekasta kun on tullut viime aikoina nähtyä näitä väittelyitä ja suosituksia. Lähtisin siitä, että asiasta kiisteleminen on turhaa enkä ketään lähtisi neuvomaan kumpaa käyttää, mutta koska tästä olisi tullut ilman pientä ranttia kovin lyhyt postaus niin listaan kumminkin oman valintani perustelut.

Käytän siis aina välejä saadakseni sorsan tasan siihen muotoon kuin haluan - tabien kanssa rivejä ei saa tasattua tarkasti (melko tarkasti kumminkin ilmeisesti? Ehkä en vain tiedä paremmin). Tabi (merkkinä) vie toki vähemmän tilaa kuin välit, mutta aikamoisen paketin saa kirjottaa ennen kuin tällä on väliä, varsinkin kun tiedostojen pakkaus on keksitty. Tabien avulla saa toki jokainen sorsan tahtomaansa muotoon, mutta tätä tarkoitusta varten useat editorit (vim, emacs, kuulen'ma) sisältävät tabify- ja detabify-komennot, joilla voidaan nopeasti vaihtaa tabeista väleihin ja toistepäin (toiminnasta en osaa sanoa). Ja välit näyttävät selkeämmiltä kuin tabit kun on Notepad2:ssa Show Whitespace päällä :). Ts. olen vain tottunut käyttämään välejä.

tl;dr sama se.

EDIT: Viksailtu jonni verran.

Metabolix [27.11.2007 17:17:04]

#

Tabin suuri salaisuus on, että sen voi jokainen säätää haluamakseen editorin asetuksista. Näin ei tarvitse tuskailla, että hyi kun on taas sen näköistä koodia, kuin tsuriga haluaa. ;) Rivejähän ei kuulu pätkiä turhaan ja sisennyksiä tulee luonnollisesti yksi lisää aina blokkia vaihdettaessa, joten ainakin minun koodini näyttäisi ihan samalta tabeilla tai väleillä. Ja jos siitä on kiinni, että haluaa katkaista koodirivin keskeltä ja haluaa jälkimmäisen puoliskon tiettyyn kohti, niin saahan siinä sitten väleillä tasattua sen blokin perustasoon nähden.

Noin yleisesti koodaustyylinä pidän Linux-kernelin ohjeista. Tähän liittyen suosittelen Google-hakua sanoilla "Linux kernel coding style".

E.K.Virtanen [27.11.2007 17:23:12]

#

Tabulaattorilla mennään. Itse pidän tabulaattorin "pituutta" kolmessa merkissä. Ei jaksa painella välilyöntiä.
Mielipidehommia mielestäni täysin. Mutta eiköhän tästäkin vielä kunnon kinastelu tulla näkemään :D

jlaire [27.11.2007 18:49:16]

#

C-tyylisessä syntaksissa tabulaattori on ihan hyvä idea, mutta joissain kielissä se ei yksinkertaisesti toimi, koska sisennys ei ole niin "palikkamaista" vaan paljon vaihtelevampaa. Olen tottunut käyttämään aina välejä.

Sharph [27.11.2007 21:07:26]

#

Itse olen tabulaattoriin tykästynyt ainakin C-, C++- ja Python-käytössä, sen kun jokainen saa haluamansa pituiseksi ja on lyhempi painellakin (vaikka esim. Katenhan saa sisentämään automaattisesti, hyvin kätevää).

Dude [27.11.2007 21:23:54]

#

Käytän QBees 2 merkin tabeja. QB muuten tallentaa tabit välilyönneiks. (x)htmlläs välilyöntiä tai en sisennä.
Edit: Ei sillä oo niin paljo väliä kumpaa käyttää.

Olga [27.11.2007 22:04:05]

#

Sisennys muuttui taannoin aikaisemmasta neljästä välilyönnistä kahteen firman koodausstandardien mukaan ja näyttäähän tuo fiksummaltakin. Tabeja vastaan ei sinällään ole mitään ja asianmukainen editori muuttaakin ne välilyönneiksi niin halutessani, mutta joskus on joutunut aukomaan tabeilla sisennettyä koodintynkää jossain Windowsin muistiossa ja aika hirveätähän sitä on katsella ja editoida.

Edit: Eikä sitä välilyöntiä tarvi painella, tabulaattori sisentää halutun määrän välilyöntejä kunnon editoreissa.

Blaze [27.11.2007 23:22:55]

#

Itse olen vakaa tabulaattorin kannattaja.

ajv [27.11.2007 23:34:43]

#

Mites jos haluaa sisentää useamman rivin kerral välilyönneillä? Itse olen aina käyttänyt tabia. Ja tabin pituus riippuu aina vähän mistä suunnasta tuulee ja kummalla jalalla on noussut sängystä :)

kayttaja-2791 [28.11.2007 00:27:14]

#

ajv kirjoitti:

Mites jos haluaa sisentää useamman rivin kerral välilyönneillä? Itse olen aina käyttänyt tabia. Ja tabin pituus riippuu aina vähän mistä suunnasta tuulee ja kummalla jalalla on noussut sängystä :)

Käytännössä kaikki editorit joita olen vähänkään täysipäisesti käyttäneet ovat tukeneet "tab to spaces" toimintoa, joten tuo ei ole ongelma...

T.M. [28.11.2007 01:11:12]

#

Tabi paljon parempi, toimii jokaisessa ohjelmassa samalla tavalla, eli yks deleten painallus poistaa yhden sisennöksen, eikä vain neljäsosaa...

ajv [28.11.2007 08:07:27]

#

JTS kirjoitti:

Käytännössä kaikki editorit joita olen vähänkään täysipäisesti käyttäneet ovat tukeneet "tab to spaces" toimintoa, joten tuo ei ole ongelma...

Näinpä tuntuu olevan. Notepadin lisäksi löysin koneeltani yhden IDEn, jonka editori ei tukenut.

Ja mitä T.M. tuossa sanoi on myös yksi syy, jonka takia TABIT eikä välit! :)

K_L [28.11.2007 08:27:18]

#

Duunissa ja kotona sama käytäntö TAB.

Olga [28.11.2007 10:10:23]

#

T.M. kirjoitti:

Tabi paljon parempi, toimii jokaisessa ohjelmassa samalla tavalla, eli yks deleten painallus poistaa yhden sisennöksen, eikä vain neljäsosaa...

ajv kirjoitti:

Ja mitä T.M. tuossa sanoi on myös yksi syy, jonka takia TABIT eikä välit! :)

Kunnon editori asianmukaisilla plugineilla tietysti tunnistaa myös nuo välilyöntisisennykset ja poistaa deletellä niin halutessaan kaikki sisennykseen tarkoitetut välilyönnit.

ajv [28.11.2007 10:27:58]

#

Aina ei ole tarjolla "kunnon editoria" vaan joku paska IDE :)

Edit: Tulee mieleen yksi IDE, jonka editori siis nimenomaan muuttaa aina tabit välilyönneiksi ja deletellä/backspacella lähtee pois vain yksi merkki. Onneksi sentään shift-tab toimii :)

kayttaja-2791 [28.11.2007 11:48:55]

#

Hmm, itse käytän kyllä sisennyksien poistoon shift+tabia, paljon kätevämpi kuin deletellä/backspacella riehua, voi jopa epäsisentään monta riviä kerralla.

tsuriga [28.11.2007 12:26:45]

#

Välejä käyttäessä vois olla hankala jos delete poistas monta kerralla kun yrittää tasata rivejä (ellei sitten tasaus ole juurikin tabikohdassa, kyllä aivan). Välien käyttööni voi toki vaikuttaa se, että koodaan lähinnä PHP:tä noudatellen PEARin koodausohjeita, joissa sisennykseen käytetöön neljää väliä. Melkein tässä alkaa kallistua tabeihin itekin, jos vaikka Eclipsessä olisi nätimmät tabi-merkit.

Olga [28.11.2007 14:28:33]

#

Juu, puhuinkin tuossa innoissani läpiä päähäni :) Editorista löytyy kyllä tuo ominaisuus, että deletellä saa pyyhittyä sisennykset, mutta toki itsekin käytän sisennysten pienentämiseen shift+tab -yhdistelmää.

Blaze [28.11.2007 15:35:08]

#

tsuriga kirjoitti:

jos vaikka Eclipsessä olisi nätimmät tabi-merkit.

Eiks pitkä tyhjä oo hyvä tabimerkki? :P

tsuriga [28.11.2007 15:48:07]

#

Oon tottunu käyttää whitespaceja, näyttää nykyisessä editorissa tältä.

_Pete_ [29.11.2007 11:47:05]

#

Ääni välimerkeille.

Kun koodi on sisennetty noilla (ja vieläpä oikein(tm)), niin voi olla
varma että katsoja näkee sen niin kuin tarkoitettu. Monissa työpaikoissa
missä olen ollut, code convention nimenomaan kieltää tab:n käytön sisennykseen.

tsuriga [29.11.2007 12:13:02]

#

Itse itseäni selventäen, vastasin siis Blazen viestiin - tabit on noita nuolia ja välit noita pisteitä. Emminä kyllä kieltoa allekirjoittaisi, kun helppohan noita on vaihtaa ja lähes yhtä hyvinhän tabeillakin saa muotoiltua, skaalautuvuus jopa parempi. Luettavuus ei toki pitäsi olla ongelma hyvin kirjoitetussa koodissa. Jostain luin jotain perusteluita tabien kieltämiselle, että softa rikkoo ne (olikohan jotain SVN:ään liittyvää...), ja aina ei voi softaa vaihtaa. (meni vähän mutu-harhailu-arvailuksi tämä viimeinen "argumentti" kun en tarkemmin muista aikaa ja paikkaa).

setä [29.11.2007 17:47:04]

#

Tabit ja Shift-tabit varsinkin jos joutuu sohlaamaan kymmeniä rivejä pitkien kappaleiden kanssa.

tsuriga [29.11.2007 22:02:21]

#

Aika vaihtaa parempaan editoriin jos joudut aina käsin hakkaamaan tabit :). Useammalla riville jakaessa voin kuvitella joutuvani tuommoiseen tilanteeseen, mutta muuten autoident toimii kuin junan vessa.

tgunner [29.11.2007 23:27:38]

#

Paras vastaus tähän on välimerkit, jotka syntyvän tabia painamalla. Ei ole kiva napsutella välimerkkejä sisentämiseksi, kun voi yksinkertaisesti painaa tabia, joka piirtää kauniit neljä välimerkkiä. Useimmat tätä toimintoa hyödyntävät ohjelmat osaavat samalla kumota tabeja shift+tab-yhdistelmällä, joten ongelmia ei ole! Notepad++ \o/

Olga [30.11.2007 12:33:44]

#

tgunner kirjoitti:

Paras vastaus tähän on välimerkit, jotka syntyvän tabia painamalla. Ei ole kiva napsutella välimerkkejä sisentämiseksi, kun voi yksinkertaisesti painaa tabia, joka piirtää kauniit neljä välimerkkiä. Useimmat tätä toimintoa hyödyntävät ohjelmat osaavat samalla kumota tabeja shift+tab-yhdistelmällä, joten ongelmia ei ole!

Tuotahan me välilyöntien kannattajat ollaankin tässä koko ketjun ajan mainostettu :)

Gwaur [02.12.2007 00:42:15]

#

Tabeissa on se hyvä puoli, että lähdekoodia katsova voi itse määrittää sisennyksen leveyden, mutta tabit eivät siitä huolimatta anna katsovalle mahdollisuutta tarkastella koodia omalla, henkilökohtaisella sisennystyylillään. Lisäksi joillekin ohjelmoijille mieluisa "rivit enintään n merkkiä" -periaate hajoaa tabien vuoksi.

tgunner [02.12.2007 01:08:56]

#

Gwaur kirjoitti:

- - joillekin ohjelmoijille mieluisa "rivit enintään n merkkiä" -periaate - -

Ja se ännähän on tietenkin 80 merkkiä !

Gwaur [02.12.2007 01:49:44]

#

Ei merkkimäärällä ole väliä, sillä tabulaattori romuttaa koko ajattelun, vaikka tabi syvimmältä olemukseltaan yhden merkin mittainen onkin. Tavallisestihan ne näytetään leveämpänä. :P

LaNu [02.12.2007 13:47:23]

#

tgunner kirjoitti:

Gwaur kirjoitti:

- - joillekin ohjelmoijille mieluisa "rivit enintään n merkkiä" -periaate - -

Ja se ännähän on tietenkin 80 merkkiä !

Ehei, se n on 79! Noh, ehkä tuo 80 on se ehdoton raja... josta siitäkin joutuu välillä lipsumaan, kun ei ole mistä rivin katkaisi.

Täytyy tunnustaa, että tabeja ja välilyöntejä tulee kirjoitettua sekaisin. Pitäisi jaksaa konffailla se välilyönti joka editoriin. Tosin mitään isompaa ei random-editoreilla tule kirjoitettuakaan. Välilyöntejä suosin siitä syystä, että niillä koodi näyttää kaikissa editoreissa samalta. Johtuu osaltaan siitäkin, että tykkään kahden välilyönnin sisennyksiä käytellä, joka taas johtuu tuosta tavasta kirjoittaa 80 merkin levyisiä rivejä.

80 merkkiä on kiva raja vielä nykyäänkin ihan siksi, että tuota noudattamalla mahtuu useampikin koodiliuska vierekkäin näytölle :)

ZcMander [02.12.2007 15:55:12]

#

Ehdottomasti välit, vieläpä niin että toimii tabilla ja sit 2 merkkiä per tabin painallus. Luokkien väliin 3 riviä tyhjää, luokan nimet OnJotain ja funktioiden on_jotain. Tässäpä koodaustyylini pythonille.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta