Portál AbcLinuxu, 23. listopadu 2025 23:37
Prece, zachovavat coding style puvodniho projektu a v novem je to jedno, jen kdyz porad stejne
Tedy je to pořád lepší než ti, kteří kód píšou tak jak jim to IDECo? Ty si myslíš, že jseš v něčem lepší než já?
A vzniká tak přenádherný kód. Tak co blbneš?
A take doporucuji
First off, I'd suggest printing out a copy of the GNU coding standards, and NOT read it. Burn them, it's a great symbolic gesture.
Kernel coding standards trvají na osmi mezerách. Podle mě je to overkillNow, some people will claim that having 8-character indentations makes the code move too far to the right, and makes it hard to read on a 80-character terminal screen. The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.
if you need more than 3 levels of indentation, you're screwed anyway, and should fix your programTři? Pět je málo!
1 public void fce (int i, boolean b) {
2 switch (i) {
3 case 1: {
4 if (b)
5 if () akce();
else jina_akce();
else jeste_jina_akce;
public void fce (int i, boolean b)
{
switch (i) {
case 1:
if (b) {
if ()
akce();
else
jina_akce();
} else
jeste_jina_akce;
break;
}
}
take nieco by ti spicoval aj gcc (a to nemyslim nedokoncenie funkcie)
gij? :)
ja ich tam vidim len 5Metoda třídy se vnořuje o jednu úroveň oproti deklaraci třídy, to je ta šestá.
The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.Zdá se, že to nebude jenom o kernelu, že?
enum AkceEnum {
Akce1 {
@Override
public void doAction(boolean b, boolean c) {
if (b)
if (c)
akce();
else
jina_akce();
else
jeste_jina_akce();
}
},
Akce2 {
@Override
public void doAction(boolean b, boolean c) {
// TODO
}
};
abstract public void doAction(boolean b, boolean c);
}
public void fce (AkceEnum akce, boolean b) {
boolean c = false;
akce.doAction(b, c);
}
Nebo pokud tam mermomocí potřebujete switch:
enum AkceEnum {
Akce1, Akce2;
}
public void fce (AkceEnum akce, boolean b) {
boolean c = false;
switch(akce) {
case Akce1:
doAkce1(b);
break;
case Akce2:
break;
}
}
private void doAkce1(boolean b) {
if (b) {
if (this.c)
this.akce();
else this.jina_akce();
} else this.jeste_jina_akce();
}


Navíc všechny mně známé generátory generují kód pro AJAXové aplikace, ale já potřebuju standardní web s přidaným JS.

.
Tak bych možná začal používat i gvim..
Na druhou stranu to ale může být i nevýhoda, právě proto, že je to proměnné v závislosti na použitém editoru.Ja to vidim jako vyhodu, kazdy si tu promenou muze nastavit se mu libi... IMHO editor, v kterem nejde nastavit, aby nemenil tabulatory na mezery, neni na programovani moc vhodny :)
Jo a když jsme u toho, délka řádky minimálně 100 znakůMinimálně nebo maximálně?
) A odsazovani nechat na emacs
vetsi_projekt * vetsi_pocet_programatoru + tabulatory => spatna_citelnost_kodu
Makefile rozlišuje mezery a tabulátory je celá kapitola v UNIX-Haters Handbooku. :)
asmlinkage int compat_sys_select(int n, compat_ulong_t __user *inp,
compat_ulong_t __user *outp, compat_ulong_t __user *exp,
struct compat_timeval __user *tvp);
[ tab ]asmlinkage int compat_sys_select(int n, compat_ulong_t __user *inp,
[ tab ]|||||||||||||||compat_ulong_t __user *outp, compat_ulong_t __user *exp,
[ tab ]|||||||||||||||struct compat_timeval __user *tvp);
Takové odsazení bez kombinace tabu a mezery nenapíšeteStačí používat mezery a napíšete
Hle, to je vlastně důkaz toho, že zatímco tabisti se bez mezer neobejdou, my mezeristi se bez tabů obejdeme velice snadno
asmlinkage int compat_sys_select(
int n,
compat_ulong_t __user *inp,
compat_ulong_t __user *outp,
compat_ulong_t __user *exp,
struct compat_timeval __user *tvp
);
A vystacim se 4 mezerama (tabulatorem). Nebo
asmlinkage int compat_sys_select(
int n, compat_ulong_t __user *inp,
compat_ulong_t __user *outp, compat_ulong_t __user *exp,
struct compat_timeval __user *tvp
);
Ale prvni verze mi prijde nejprehlednejsi.
asmlinkage int compat_sys_select(int n,
compat_ulong_t __user *inp,
compat_ulong_t __user *outp,
compat_ulong_t __user *exp,
struct compat_timeval __user *tvp);
int i[,] = {{5, 7, 8, 0},
{7, 8, 9, 4}};
.... (
int n,
...
) {
}
pole dtto
void main () {
}
a
void main()
{
}
V jednom nejmenovaném programovacím jazyku je konvence
begin ... end

void main () {
}
int main(void)
{
...
}
int main (void)
{
int i;
for (i = 0; i < 10; i++) {
fputc(i + '0', stdout);
}
return 0;
}První řádek je odsazen od těla funkce a je to tak přehlednější. Otevírací závorku cyklů a ifů dávám na nový řádek jen když je podmínka moc dlouhá a rozleze se to na více řádků. Mezi funkcema pak nechávám dva řádky prázdné.
void main()
{
}
Všechny závorky stejné úrovně jsou pak v jednom sloupci a je to přehlednější než když otevírací závorka je na řádku s deklarací někde vzádu vpravo.
Ve škole máme prastarý Turbo Pascal a ten tam cpe furt ty pitomé mezery. Když si to pak otevřu třeba v Kate, tak se v tom tak špatně pracuje :-/
if (něco)
{ blabla();
hello();
}
while (a == b)
{
nejaka_funkce ();
}
Což se mi tedy také nelíbí, ale pořád je to z optického hlediska milionkrát lepší než když je složená závorka na stejné úrovni jako ostatní blok v kódu. K&R prostě ruluje
Nicméně uplně nejvíc ruluje, když nemusím používat složené závorky vůbec (vive le Python!
).
Jinak já zas považuju za mnohem lepší styl jako v Python, než styl jako v Ruby :-P
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.