Indentacja - taby czy spacje ?

0

Jak w temacie. Ktora opcja i dlaczego?

3

Spacje bo są niezależne od konfiguracji edytora.

3

Tabulacje, bo:

  1. mamy automatyczne wyrównanie - nie ma możliwości "zepsucia" np. dając 3 spacje, gdy w pliku obowiązują 4
  2. w ustawieniach edytora każdy może sobie łatwo dopasować odpowiadający mu poziom wcięć (ja np. mam 4 "spacje")
  3. plik zajmuje mniej
  4. jedno naciśnięcie kursora lewo/prawo przenosi nas do odpowiedniego wcięcia

Bardzo nie lubię spacjowych i jak tylko takie widzę, od razu odpalam "leading spaces to tabs" w edytorze.

1
Marooned napisał(a):
  1. mamy automatyczne wyrównanie - nie ma możliwości "zepsucia" np. dając 3 spacje, gdy w pliku obowiązują 4
    Nie wiem czy dobrze zrozumiałem, ale przy spacjach też niczego nie można psuć. Bo człowiek i tak wciska tab, a zamiana tego na spacje jest zadaniem edytora.
  1. w ustawieniach edytora każdy może sobie łatwo dopasować odpowiadający mu poziom wcięć (ja np. mam 4 "spacje")
    No właśnie tu jest największy problem. Bo jeśli linia się zaczyna gdzieś w połowie (np. wywołanie funkcji gdzie każdy parametr jest w osobnej linii) to ten który napisał myśli że dobrze ustawił tabami, a potem ktoś z innym ustawieniem otworzy i nagle lipa.
  1. plik zajmuje mniej
    W tych czasach myślę, że to peanut.
  1. jedno naciśnięcie kursora lewo/prawo przenosi nas do odpowiedniego wcięcia
    Dobre edytory też potrafią inteligentnie skakać w lewo po spacjach. W prawo nie widziałem, ale też nigdy bardzo tego nie potrzebowałem.
3

Wcięcie to tabulator, a odstęp to spacja. Robienie wcięć spacjami kojarzy mi się z edytowaniem dokumentów Worda przez przysłowiową panią Halinkę. Na przykład robienie podniesienia górnego tam, gdzie chce się uzyskać przypis (i na dole strony enterami na chama treść przypisu...). Przypomniało mi się też, jak pewien geniusz wysłał mi tłumaczenie strony po niemiecku w docu, w treści zamiast spacji były różne losowe znaki zaznaczone na kolor biały. Wygląda tak samo, więc o co chodzi, co nie...?

Kompletnie nie rozumiem po co ktokolwiek miałby używać spacji do czegoś, do czego służą taby. Argument:

Spacje bo są niezależne od konfiguracji edytora.

jest conajmniej chamski wobec wszystkich pozostałych programistów z zespołu. Bo ja sobie uwidziałam, że prawidłowe wcięcie to 10 spacji, i nie obchodzi mnie, że inni programiści wolą inaczej? Moja konfiguracja jest najmojsza, więc muszę ją wymusić na innych?

No właśnie tu jest największy problem. Bo jeśli linia się zaczyna gdzieś w połowie (np. wywołanie funkcji gdzie każdy parametr jest w osobnej linii) to ten który napisał myśli że dobrze ustawił tabami, a potem ktoś z innym ustawieniem otworzy i nagle lipa.

Na to jest bardzo proste rozwiązanie. Nie dopasowujemy linii sobie na oko, tylko stosujemy konwencje i już. Poziom zagłębienie się zwiększa o jeden, to i tabulator się zwiększa o jeden (a nie o 2 o 3 albo o 4, bo mi akurat tak ładniej wygląda). Programowanie to nie jest sztuka, tu nie ma "mi się bardziej podoba jak literki są wyrównane bardziej do prawej". To nie ma być ładne, to ma być przejrzyste. Nie tylko dla autora.

0
aurel napisał(a):

No właśnie tu jest największy problem. Bo jeśli linia się zaczyna gdzieś w połowie (np. wywołanie funkcji gdzie każdy parametr jest w osobnej linii) to ten który napisał myśli że dobrze ustawił tabami, a potem ktoś z innym ustawieniem otworzy i nagle lipa.

Na to jest bardzo proste rozwiązanie. Nie dopasowujemy linii sobie na oko, tylko stosujemy konwencje i już. Poziom zagłębienie się zwiększa o jeden, to i tabulator się zwiększa o jeden (a nie o 2 o 3 albo o 4, bo mi akurat tak ładniej wygląda). Programowanie to nie jest sztuka, tu nie ma "mi się bardziej podoba jak literki są wyrównane bardziej do prawej". To nie ma być ładne, to ma być przejrzyste. Nie tylko dla autora.

Właśnie te parametry są wyrównane, żeby było przejrzyście dla wszystkich.

Bo ja sobie uwidziałam, że prawidłowe wcięcie to 10 spacji, i nie obchodzi mnie, że inni programiści wolą inaczej? Moja konfiguracja jest najmojsza, więc muszę ją wymusić na innych?

Zazwyczaj firma wymusza jeden styl i tyle. To że ja wolę klamrę otwierającą w nowej linii albo nie chcę spacji po if (co nie jest prawdą) nie ma nic do rzeczy.

2

Spacje i... przeraża mnie że ktoś może myśleć inaczej.
Argumentów jest tyle, że nawet nie chce się pisać. Wystarczy przeczytać jakiś standard programowania (Python, Java, Pascal etc).

0
twonek napisał(a):
aurel napisał(a):

No właśnie tu jest największy problem. Bo jeśli linia się zaczyna gdzieś w połowie (np. wywołanie funkcji gdzie każdy parametr jest w osobnej linii) to ten który napisał myśli że dobrze ustawił tabami, a potem ktoś z innym ustawieniem otworzy i nagle lipa.

Na to jest bardzo proste rozwiązanie. Nie dopasowujemy linii sobie na oko, tylko stosujemy konwencje i już. Poziom zagłębienie się zwiększa o jeden, to i tabulator się zwiększa o jeden (a nie o 2 o 3 albo o 4, bo mi akurat tak ładniej wygląda). Programowanie to nie jest sztuka, tu nie ma "mi się bardziej podoba jak literki są wyrównane bardziej do prawej". To nie ma być ładne, to ma być przejrzyste. Nie tylko dla autora.

Właśnie te parametry są wyrównane, żeby było przejrzyście dla wszystkich.

To ja nie rozumiem. Najpierw piszesz, że to jest największy problem, żeby zrobić przejrzyście dla wszystkim, a potem, że robisz tak właśnie dlatego, by było przejrzyście dla wszystkich...

Zazwyczaj firma wymusza jeden styl i tyle. To że ja wolę klamrę otwierającą w nowej linii albo nie chcę spacji po if (co nie jest prawdą) nie ma nic do rzeczy.

To był kontrargument do: "Spacje bo są niezależne od konfiguracji edytora." Co ma wymuszanie stylu przez firmę, do niezależności od konfiguracji edytora...? Jeżeli firma narzuca jeden standard wszystkim, to przecież konfiguracja edytora nie ma żadnego znaczenia, bo i tak wszyscy mają tak samo...

0

nie do konca. Firma moze ustalic jakies zasady ale zostawia wolna reke programistom w czym pisac. Wiec moga wpisac w VS, sublime text, vim, emcasie... wiec w tym wypadku spacje sa lepsze.

Ja tez wole spacje mimo ze w firmie uzywamy tabow.

0
aurel napisał(a):
twonek napisał(a):
aurel napisał(a):

No właśnie tu jest największy problem. Bo jeśli linia się zaczyna gdzieś w połowie (np. wywołanie funkcji gdzie każdy parametr jest w osobnej linii) to ten który napisał myśli że dobrze ustawił tabami, a potem ktoś z innym ustawieniem otworzy i nagle lipa.

Na to jest bardzo proste rozwiązanie. Nie dopasowujemy linii sobie na oko, tylko stosujemy konwencje i już. Poziom zagłębienie się zwiększa o jeden, to i tabulator się zwiększa o jeden (a nie o 2 o 3 albo o 4, bo mi akurat tak ładniej wygląda). Programowanie to nie jest sztuka, tu nie ma "mi się bardziej podoba jak literki są wyrównane bardziej do prawej". To nie ma być ładne, to ma być przejrzyste. Nie tylko dla autora.

Właśnie te parametry są wyrównane, żeby było przejrzyście dla wszystkich.

To ja nie rozumiem. Najpierw piszesz, że to jest największy problem, żeby zrobić przejrzyście dla wszystkim, a potem, że robisz tak właśnie dlatego, by było przejrzyście dla wszystkich...

Każdy chciał dobrze. Każdy chciał to samo osiągnąć. Tyle że jeśli ktoś chciał to osiągnąć tabami, to potem skutki są nieprzewidywalne.

0

Każdy chciał dobrze. Każdy chciał to samo osiągnąć. Tyle że jeśli ktoś chciał to osiągnąć tabami, to potem skutki są nieprzewidywalne.

Mamy więc firmę, która ustaliła, że używamy spacji jako wcięć i narzuciła 4 spacje.
Jeden z pracowników ustawił sobie w edytorze, że on chce wcinać 2oma spacjami, a drugi pracownik, że chce 8mioma. Obaj, żeby dostosować się do wymogów firmy, commitując przetwarzają te swoje 2/8 spacji na ustalone odgórnie 4.

Jaki jest tego efekt? No nieprzewidywalny, bo jeden dodawał wcięcia patrząc na odstępy 2spacjowe, a drugi dodawał wcięcia patrząc na odstępy 8miospacjowe. Gdzie jest więc zysk...? Zysk jest tylko i wyłącznie wtedy, gdy wszyscy odgórnie mają narzucone, że 4 spacje to 4 spacje i nikt nie ma prawa ustawić sobie w IDE inaczej.

A przy tabulatorach? No generalnie to samo, tzn. jeśli pracownicy będą mieli ustawione różne taby i do tego będą wyrównywać linie na oko, to znowu będzie kicha. Ale w tej wersji, wystarczy, by stosowali się do zasady - jedno zagłębienie == jedno wcięcie i nagle wszyscy mogą mieć ustawione u siebie w IDE co chcą, a jednocześnie u wszystkich kod będzie wyglądał tak samo schludnie.

Oczywiście tą zasadę można stosować też przy spacjach, tylko że wtedy już naprawdę absolutnie nie mam pojęcia dlaczego miałabym używać spacji, a nie tabów.

5

Spacje tabulatory, nie ma znaczenia! Ważne by było konsekwentnie: tylko spacje, albo tylko tabulatory.
To mieszanka jest wnerwiająca.
Zwykle jest to narzucone "z góry".

Zależy to tez od języka. W pythonie konsekwencja wyboru spacja albo tabulator jest niezbędna.
Tymczasem sposób zawijania długich wierszy w Objective C powoduje, że spacje są jedynym rozsądnym rozwianiem (linie są wyrównywane by dwukropek wypadł w jednej kolumnie).

0
aurel napisał(a):

Każdy chciał dobrze. Każdy chciał to samo osiągnąć. Tyle że jeśli ktoś chciał to osiągnąć tabami, to potem skutki są nieprzewidywalne.

Mamy więc firmę, która ustaliła, że używamy spacji jako wcięć i narzuciła 4 spacje.
Jeden z pracowników ustawił sobie w edytorze, że on chce wcinać 2oma spacjami, a drugi pracownik, że chce 8mioma. Obaj, żeby dostosować się do wymogów firmy, commitując przetwarzają te swoje 2/8 spacji na ustalone odgórnie 4.

Jaki jest tego efekt? No nieprzewidywalny, bo jeden dodawał wcięcia patrząc na odstępy 2spacjowe, a drugi dodawał wcięcia patrząc na odstępy 8miospacjowe.

Trochę mi zajęło zrozumienie tego, ale fakt, jest w tym jakiś sens. Ja widzę to tak: [firma ustala, że] kod ma spełniać pewne standardy wizualne przy wcięciu 4 spacji, jeśli ktoś inny ustawi sobie inaczej, to potem do jego obowiązków należy dopilnowanie, żeby te parametry się znajdowały pod sobą.

Widziałem kod z tabami, który się rozlatywał na githubie, w konsoli podczas wyświetlania historii gita itd. Można oczywiście to wszystko ustawić, ale nikt się nie kwapił i wszyscy [w tych firmach] ustawili "zamień tab na spacje podczas zapisu".

0
MarekR22 napisał(a):

Spacje tabulatory, nie ma znaczenia! Ważne by było konsekwentnie: tylko spacje, albo tylko tabulatory.
To mieszanka jest wnerwiająca.
Zwykle jest to narzucone "z góry".

Mieszanka w ogóle często jest zabraniana.

Ale same taby też są denerwujące bo bywa tak że coś pasuje zrobić z wcięciem mniejszym niż tab (lub większym). I się nie da, bo zakazane.
BTW, argument że po spacjach trzeba chodzić kursorem (patrz gdzieś wyżej) jest słaby, bo większość rozsądnych edytorów dla programistów ma "ctrl+lewo/prawo".

3
fasadin napisał(a):

Wiec moga wpisac w VS, sublime text, vim, emcasie... wiec w tym wypadku spacje sa lepsze.
Hm, to ciekawe, bo wg mnie właśnie tu taby pokazują swoją lepszość. Po prostu to zawsze wcięcie o jeden. Absolutnie nie ma znaczenia czy wyświetlamy to jako 1, 4, czy 18 spacji. Jedno wcięcie, jeden znak. Tyle. Po to taby zostały wymyślone.

Wyniki ankiety mnie nieco szokują. Porównanie aurel do pani Halinki i Worda bardzo trafne.

To tak jak z HTMLem i CSSem. Semantyka i styl.
Semantyka: jedno wcięcie, jeden znak
Styl: renderowanie tego znaku jako [tu wstaw ulubioną liczbę] spacji (z uwzględnieniem dopasowania do kolumny)

Ze spacjami też mały problem, jak się chce na szybko zakomentować kilka linijek. Przy tabach wpisywanie // i kursor w dół przechodzi nam do początku linii, gdzie znów możemy dać //. Mając spacje w kolejnej linii otrzymujemy //, w kolejnej // i tak dalej.

0

Tylko i wyłącznie spacje. Bardzo dawno temu miałem trochę inne zdanie na ten temat, ale doświadczenie przekonało mnie, że taby w pliku źródłowym prędzej czy później skończą się rozwalonym formatowaniem - wbrew dobrym intencjom i chęciom wszystkich edytujących. Także po co sobie robić problemy?

Ze spacjami też mały problem, jak się chce na szybko zakomentować kilka linijek. Przy tabach wpisywanie * i kursor w dół przechodzi nam do początku linii, gdzie znów możemy dać *. Mając spacje w kolejnej linii otrzymujemy *, w kolejnej * i tak dalej.

Robisz to ręcznie jak pani Halinka w Wordzie? Wszystkie porządne edytory mają możliwość zakomentowania grup kodu jednym skrótem klawiaturowym.

1

Wszystkie porządne edytory mają możliwość zakomentowania grup kodu jednym skrótem klawiaturowym.

Pragnę zwrócić uwagę, że nie wszystkie języki posiadają porządne IDE...

Podpisano: programista VBA -_-'

4
  1. mamy automatyczne wyrównanie - nie ma możliwości "zepsucia" np. dając 3 spacje, gdy w pliku obowiązują 4

Współczuje wszystkim, którzy do 2015 roku jeszcze nie odkryli guide lines i są w stanie dać krzywe spacje.

  1. w ustawieniach edytora każdy może sobie łatwo dopasować odpowiadający mu poziom wcięć (ja np. mam 4 "spacje")

Kogo obchodzi odpowiadający poziom wcięć jednostki? A jak kolega Cię poprosi, żebyś mu coś objaśnił to mu odpowiadasz - sorry, najpierw zmień poziom wcięcia?
Rozmiar wcięcia powinien być ustalany jako część konwencji odnośnie kodowania.

  1. plik zajmuje mniej

Ekstra! Ile MB ma Twój dysk? 1, 2?

  1. jedno naciśnięcie kursora lewo/prawo przenosi nas do odpowiedniego wcięcia

Ze spacjami też, tylko niestety trzeba umieć sobie ustawiać odpowiadające sobie opcje w edytorze.

Wcięcie to tabulator, a odstęp to spacja

A czym jest wcięcie jak nie odstępem od początku wiersza? Anyway.. fajny dogmat.

Robienie wcięć spacjami kojarzy mi się z edytowaniem dokumentów Worda przez przysłowiową panią Halinkę. Na przykład robienie podniesienia górnego tam, gdzie chce się uzyskać przypis (i na dole strony enterami na chama treść przypisu...). Przypomniało mi się też, jak pewien geniusz wysłał mi tłumaczenie strony po niemiecku w docu, w treści zamiast spacji były różne losowe znaki zaznaczone na kolor biały. Wygląda tak samo, więc o co chodzi, co nie...?

Ciekawa historia, szkoda tylko, że nie ma żadnego związku z tym tematem.

Bo ja sobie uwidziałam, że prawidłowe wcięcie to 10 spacji

J/w.

Poziom zagłębienie się zwiększa o jeden,

Oh, czyżbyś chciała narzucić swoją konwencje innym programistom? Jakie to chamskie.

To nie ma być ładne, to ma być przejrzyste

Ma być ładne bo patrze na to przez większość dnia. Tak samo wole oglądać ładną dziewczynę, a nie brzydką.

Jaki jest tego efekt? No nieprzewidywalny

Jak pracujesz z małpami to tak. Różnica jest taka, że spacje da się ustawić równo, niezależnie gdzie to ustawiasz. Tabów się nie da.

W pythonie konsekwencja wyboru spacja albo tabulator jest niezbędna.

W pythonie jest jasno ustalona konwencja ile spacji się stawia. To nie jest żaden wybór, chyba że ktoś kocha robić fuszerkę.

Pragnę zwrócić uwagę, że nie wszystkie języki posiadają porządne IDE...

Wpisz w google: "Editor for programmer", będzie masa wyników.

0

Oczywiście spacje, tutaj nie ma o czym rozmawiać.

6

To bardzo miłe, że miłość do spacji to coś, co łączy w tym wątku lewaków i prawicowców.

0

Wiele lat byłem fanów tab'ów, do czasów GIT'a. Teraz dużo plików podglądam po prostu w notatniku, gdzie tabulacja to po prostu zło. Dobrze, ze Visual Studio ma opcje robienia z tab'a 4 spacji. Dzięki temu dalej spokojnie operuje w kodzie wcięciami, a i potem nie mam problemu z notatnikiem :)

0

Tylko spacje, koniecznie dwie dla pojedynczego wcięcia; Z przyzwyczajenia i wygody, choć jakby mnie podkusiło użyć tabulatora, to edytor zmieni mi go na dwie spacje; A tabulatora używam w sumie jedynie do fokusowania kolejnych/poprzednich komponentów, jak jestem zbyt leniwy, żeby po myszę czy do track-pointa sięgnąć.

2

Mały OT. Czytam pełne zapału tyrady wyznawców tabulatora i spacji i tak się zastanawiam: czy któryś z nich ma nadzieję na nawrócenie heretyka?

1

Jedyny powód dla którego nie znoszę tabulatorów to to że w każdym edytorze mają inną szerokość. Jakby nie to to nie miałbym nic przeciwko.
W wordzie używam tylko tabów, w kodzie tylko spacje.

2

JAKIEKOLWIEK białe znaki w kodzie są dla mięczaków, zamykam temat :D

A na poważnie - wciskam taby, IDE robi mi z tego spacje. Większość kodów tak ma, więc nie wynajduję koła na nowo i nie wkurzam innych i trzymam się tego. Kiedyś używałem znaków tabulacji, ale było z tym więcej problemów niż pożytku (obce kody na spacjach itd).

1

Dyskusje na tym forum są jak poziom ogólnej dyskusji politycznej w tym kraju - najbardziej zażarte dyskusje toczą się o rzeczy najmniej ważne

3

Kiedyś używałem znaków tabulacji, ale było z tym więcej problemów niż pożytku (obce kody na spacjach itd).

Kiedyś używałam spacji, ale było z tym więcej problemów niż pożytku (obce kody na tabach itd).

Żartuję, nigdy nie używałam spacji ;)

0

http://static.adzerk.net/Advertisers/d5f03c2e3109415ab2e0f5c62df646dc.png
Na StackOverflow jest ankieta
http://meta.stackoverflow.com/questions/285178/stack-overflow-annual-survey-2015
Są tez pytania o kawę, bo ten wątek też tutaj ostatnio popularny :P

0

Ostatnio pojawił się wątek z mapami.. chętnie bym zobaczył korelację "tabs vs spaces" w odniesieniu do.. ulubionego OS, ilości wypijanych kaw czy popierania opcji politycznych ;-) Byłoby to "bardzo" pouczające.

1

Ja używam TAB, bo łatwiej nacisnąć raz TAB niż walić 4 razy po spacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1