( Mcsiv | 2018. 04. 06., p – 22:21 )

Egy kicsit hátrább az agarakkal azért. Mint írtam, szintaktikailag megfelelő, olvashatóság miatt nem teljesen. Helyes/helytelen Kötelező/Nem kötelező/Engedékeny pedig különböző szavak és nem rokonértelműek egymással. Helytelen azért, mert 15 év alatt szerintem ő volt az első akinél ilyen code style-t láttam (pedig magam is írtam már több 100k soros, c-ben írt szoftvereket, sőt, napi szinten túrok nem egy millió soron felüli kódot).

Az, hogy a nyelv nem rendelkezik róla és egy sorba össze lehet b*szni mindent, még nem lesz helyes, általános code style guide létezik, bár ugyan nem rendelkezik külön arról hogy 'var->tp' vagy 'var -> tp', viszont következetesen mindenütt az előbbit látod ezekben, nem az utóbbit. Pont ezen oknál fogva a legtöbb IDE nem is színezte helyesen (és szerintem találunk olyan fordítót is, ami csak az előbbi formát fogja elfogadni).

Az összeadás és a szorzással nem tudom mit akartál mondani, én dereferálást írtam (mert szemmel olvasva a kódot meg kell nézned az egész sort miatta és nem elég csak a változót: *ptr vagy * ptr)

Ez egy nem definiált szabály, ahogyan az sem hogy int* var; vagy int *var;

Előbbit c++ kódokban fogod látni, utóbbit c kódokban főként.
Én szintén az utóbbit preferálom mert az int* var; egy felsorolás esetében már félrevezető is lehetne:
int* a, b;

Ha következetesen nézzük, akkor az int* a típus, az a és b pedig változók, így elviekben egyformák, pedig nem. int *a, b; esetében pedig pontosan látod hogy mi-micsoda.

Szóval igen, az hogy valamiről a nyelv nem rendelkezik, vagy egy 30 éves code style guid nem írja le explicit (de minden példában következetesen ugyan úgy van használva) és több millió sor olvasása alatt egyetlen egy kódban láttam csak így (ami kód egyébként kb másik ezer sebből vérzik és ez a legapróbb problémája), szerintem nyugodtan lehet egy általánosan használt és elfogadott minta alapján egy kódot helyesnek vagy helytelennek jelölni.

Az meg hogy ilyen (már ne haragudj) bullshitekkel idetrollkodsz, az csak a te jellemrajzodat bővíti.

// Happy debugging, suckers
#define true (rand() > 10)