Quote (Anarkin @ 8 Nov 2014 01:22)
maintainable code over all
lehet nézegetni hogy milyen gyönyörűséget alkottál, de még akkor sem éri meg ha a fejlesztője überhatékony és 8 másodperc alatt megold bármit,
mert a következő embernek aki látja a kódot - esetleg belenyúl - már úgy kell megértenie mindezt, hogy nem ő találta ki
és ha ő is mondjuk zseni, akkor is 15x annyi idő lesz, mert amit nem te találsz ki az ilyen
macro = evil
amúgy a method call kb 4 nanosec
Alapvetően egyet értek veled és én is így tanultam. #define macrot nem is használok túl gyakran, sőt még eddig nem is volt rá szükségem.
De vannak olyan esetek, amikor szerintem más is megérti hamar.
Jelen esetben például a fent írt jelölés a digitális technika szokásos jelölése erre.
Más -ezt rendesen támogató- nyelvekben ráadásul eleve használható forma.<jó, a vhdl azért elég speciális példa>
A feladat egy drága eszköz számítógépes szimulációja az iskola számára. A jelölésmód a szimulálandó eszköz leírásában használttal egyezik (ami megint csak azért van így, mert ennek ez a bevett szabványos jelölése). <szóval ha valaki megnézi, hogy mi is ez az eszköz, akkor ott ugyanezzel fog találkozni>
Nem a hívás sebessége miatt aggódom (gondolom c#-ban is van inline fv), hanem azért mert kb 150 művelet, műveletenként átlagosan 4-5 register értékét kell kiszámolni kombinációs logikával. Belehalok, mire megírom.
(amúgy nem áll szándékomban nyílttá tenni a kódot)
Szóval egyetértek veled az alapelvet tekintve, és én is találkoztam már idióta macrokkal, és ahol csak lehet elkerülöm őket.
Lehet a dolgokat ésszel használni.
//Valószínűleg az lesz a megoldás, hogy írok egy programot, ami a hagyományos jelölést az itt használható formává konvertálja.
Akkor én is megírom még idén őket, és a c# is boldog lesz.
This post was edited by CyberPunk666 on Nov 8 2014 02:43am