Sziasztok!
Gondolom sok "egeszségesen" lusta hup olvasó használja az indent névre hallgató c/c++ kódszépítő programkát. A kérdésem az lenne, hogy Ti milyen stílust (indent paramétereket) favorizáltok c++ kódokhoz és miért (vagy esetleg miért nem használtok kódszépítőt). Nyilván ez nagyon szubjektív dolog, de azért fel lehet hozni számos objektív érvet áttekinthetőség vagy egyéb szempontokat figyelembe véve.
- 3330 megtekintés
Hozzászólások
En vim kodszepitovel rendezem el. alapbealitasok szerint. (=)
Egyebkent C kodnal linux kernel stilusa tetszik, kiveve, hogy { jeleket ujsorba teszem, es ugyan annyival betolva irom a parjat. (tabnyi eltalas melysegenkent)
Kilometer hosszu kurvasok tipussal mahinalo c++ kudonal, neha hasznosabb, ha a
visszateresi tipus kulon sorban van, ill. minden argumentum, kulon sort kap implementalaskor.
Hivaskor a nagyon sok hosszu argal rendelkezo fuggvenyeket methodusokat, szinten erdemes tordelni, egyebkent nem.
(minden arghoz jar egy megjegyzes is)
Ha if, vagy ciklus utan nem blokk jon, akkor azt is beljebb tolom 2 space -el.
- A hozzászóláshoz be kell jelentkezni
+1 :)
amúgy "kódszépítő" normális szerkesztő mellett felesleges, a vim pedig abszolút profi ebben (is)
- A hozzászóláshoz be kell jelentkezni
astyle --style=kr
- A hozzászóláshoz be kell jelentkezni
KNF
--
Segmentation violation -- Core dumped blues
- A hozzászóláshoz be kell jelentkezni
A behúzásokat belerakja az emacs szerkesztés közben. Szerintem érdemes eleve úgy írni a kódot, mint később ráereszteni az indent-et. Én legalábbis azért használom a behúzásokat, hogy könnyebben át tudjam tekinteni a kódot, és ez már megírás közben is hasznos.
- A hozzászóláshoz be kell jelentkezni
Mivel kezdő vagyok, előbb megpróbálok minél szebb kódokat írni, ráér az ilyesmi még nekem.
- A hozzászóláshoz be kell jelentkezni
...aztán van az, hogy
típus * mutató;
Amikor Pascalról átnyergeltem C-re, akkor így írtam:
típus* mutató;
Később C-sen gondolkodva, még C++-ban is:
típus *mutató;
típus &ojjektum;
Ma C++-osan:
típus* mutató;
típus& ojjektum;
- A hozzászóláshoz be kell jelentkezni
Back to pascal?
- A hozzászóláshoz be kell jelentkezni
Nem a Pascal miatt, hanem állítólag a C++-osok így szokták. Gondolom, a C-s logika az volt, hogy a
típus *változó;
azt jelenti, hogy a *változó az egy adat, egy ,,csillagos változó'', még akkor is, ha a fordítónak szintaktikailag a ,,változó'' azonosító a lényeges, ami pedig mutató.
C++-ban megjelentek a referenciák, aminek - mint mutatónak - nem tudsz értéket adni, csak inicializáláskor. Nincs rá értelme a -> operátornak sem, a pontnak viszont van. A referencia maga az adat. Így az & jelet inkább a típushoz írják. És akkor már a *-ot is.
Én így sejtem.
- A hozzászóláshoz be kell jelentkezni
Sztem ha már indokokat keresünk egyik vagy a másik jelölés mellett, akkor érdemesebb ezt használni:
típus *változó1, *változó2;
Méghozzá azért, mert ha vki nem ismeri elég pontosan a nyelvet (és/vagy mondjuk mert már 48 órája ébren van), akkor hajlamos a következő deklarációban azt hinni, hogy mindkét változó mutató:
típus* változó1, változó2;
Elvégre mindkét változó típusa típus*, nemde? ;) Hát nem egészen.
kl223
- A hozzászóláshoz be kell jelentkezni
Ebben is van ráció.
Ugyanakkor (ha csapatban dolgozol) ilyen deklarációt nem nagyon illik leírni, pont a könnyű félreérthetőség miatt.
- A hozzászóláshoz be kell jelentkezni
En a java alap formazasat kovetem (amit pl. a netbeans is csinal). keves vele a gond, jol atlathato, jol gepelheto is. Megszokas kerdese.
- A hozzászóláshoz be kell jelentkezni
Nem tartozik szorosan a felvetett kérdéshez, de a kódolási stílushoz mindenképpen:
A Luxrenderen van egy nagyon jól összefogott - és jól kinéző - útmutató, ami jól jöhet, ha saját projekthez kell ilyet készíteni, illetve rávilágít, hogy mennyi "stíluselemre" kell figyelni programozás közben.
--
- Name ONE thing that your Linux computer can do that my MAC can't!
- Right click.
- A hozzászóláshoz be kell jelentkezni
Alapvetoen nem rossz (ugy 95%-ban korrekt), bar nehany helyen de facto standardnak nyilvanit nem igazan elterjedt, es indokolhatatlan dolgokat. (Pl. case-nel space a kettospont elott. En ilyet meg sosem lattam, es kb. semmi ertelme nincs.)
- A hozzászóláshoz be kell jelentkezni
int amit(int a,
int vallalat)
{
megkovetetel();
/* hiaba utalom :P*/
}
egyebkent szerintem teljesen mindegy hogy milyen - a lenyeg, hogy 1 faban mindenki ugyanugy csinalja
==
`Have some wine,' the March Hare said in an encouraging tone.
Alice looked all round the table, but there was nothing on it but tea.
- A hozzászóláshoz be kell jelentkezni
Allman.
Nekem a legjobban átlátható a szerkezet, és a legkönnyebb a kommentezés, és többnyire csak a sorokat kell kezelni (vim-ben egyszerű(bb)).
Egyébként van egy jó összehasonlítás a wikipedián.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Vim tudja esetleg a kommenteket is úgy elrendezni, hogy egy oszlopban kezdődjenek?
pl. Eredeti:
if(x<y) {
fv(); // fv
function(x); // function
}
Rendezett:
if(x<y) {
fv(); // fv
function(x); // function
}
- A hozzászóláshoz be kell jelentkezni
Nem probaltam, de: Align
- A hozzászóláshoz be kell jelentkezni
Köszi, ez elég jónak tűnik.
Használata: kijelölöd Visual Mode-ban a sorokat, majd \acom (ez egy map), és meg is formázta a kommenteket.
Kár hogy nem built-in.
- A hozzászóláshoz be kell jelentkezni