Hogyan lehet megérteni, hogy valaki másnak a kódját, dou
Mielőtt egy halom szöveg, nézd meg a kódot, és megérteni, hogy mit csinál:

Ezek a fejlesztők írni. Valaki nem érti egyáltalán, hogy valaki csak kitalálni, hogy ez mit csinál. De van egy módja annak, hogy megértse. Rajta alacsonyabb lesz.
1. A kód kerül örökölt. Ha hozzáfűzni, hogy valaki, és meg kell becsülni, hogy mennyi ideig fog tartani befejezését.
2. A kód befejezni valaki, amely módosította a más fejlesztők, és meg kell érteni, hogy mire elkészült írás.
3. Kódellenőrző. Eltér az első két, hogy meg kell tenni, mielőtt a kódot belép a tároló / termelés.
Mit kell érteni mások kódot?
Az első probléma akkor szembe nézett más emberek kód, - határozzák meg, ahol a változtatáshoz. Erre a célra a keresést különböző kritériumok szerint.
A harmadik probléma - az érthetetlen logika. Elolvashatja a kódot, de nem értem, hogy miért történt így.
Hogyan lehet megtalálni a megfelelő helyre a kódot?
Megtaláltuk a megfelelő helyen, hanem megérteni a logika?
Van itt a következő kódot:

Van egy tömb inicializálása amely az úgynevezett „élelmiszer”, majd hozzon létre egy objektumot a „cat”, és aztán valahogy egyenlővé a macska enni, és tárolja azt egy sor ételt. Ez a logika csak érthető, ha a honlapunkon adja shawarma. Még ha a feladat -, hogy hozzon létre egy másik macska, akkor adjunk hozzá, de ez ismét szerepel egy sor ételt. És miért olyan - rejtély marad.
Jó gyakorlat - újra olvasni a követelményeknek, tudatában kell lennie a tárgykörben, és megérteni, hogy miért lett így valósít meg.
Egy példa a komplex elejétől a cikket:

Senki sem törölte a régi jó hibakereső és átléphető, de a tudás az adott területet továbbra is szükség van.
Az okok a bonyolult kódot
Mit nevezünk rossz kódot?
- „spagetti kód.” Nem a legnépszerűbb opció. Három módszer, amelyek mindegyike csinál valamit. A test a függvény hívások más módszerek, és még a szemét, lehetetlen nyomon követni a lánc, hogy hívjuk. Kód zavaros, mint a spagetti egy tálba.

- "Bones". Ez a kód nagyon sok. Fejlesztő írt sorozat, amelyben ő csinál valamit a tömb elemeit, amelyen van ez a ciklus. És ez arra figyelmeztet, hogy a doSomething módszer hívást egy bizonyos értéket hibát dob. Egyszerűen azt mondja, hogy ha az érték a tömb - 4, szükséges, hogy kihagyja azt, és menj a következő. Azt tervezik ezt a helyzetet, és egy „backup”, hogy ne tévessze megüresedett. De ez, ő teremtette egyéb körülmények létrehozása más rendkívüli helyzetek, amikor valami nem úgy tűnik, túl sok vagy tűnnek. A fejlesztő is, továbbra is építeni más csontok, átfedő véletlenül.


Hogyan kell élni?
Valós példák könnyű megtalálni Elolvashatja ha érdekel. Ez egy igazi példa (jó lenne még egy bizonyítéka annak a ténynek, hogy itt az úgynevezett xxx funkciót, és itt proinlaynili 100.500 vonalak) és soha nem is fog?
.
UPD.
Az utolsó dolog, amire emlékszem, hogy pontosan látható a nyílt forráskódú közösség - boofcv. Itt egy finom darab Kuang. Ha találtam.
github.com/. ockPyramid.java
Mi történt, hogy optimalizálni?
A kereső találja igen. Ez a kód nagyon gyors, nincs extra allokeyshnov minden puffert pereispolzuyutsya része a műveletek korábban ítélt kívül a hurok (amelyeket nélkül közbülső változókat értelmes neveket), akkor is a kerekítés tartják gyorsabb, ahol kihasználják azt a tényt, hogy a szám nem negatív.
Általában, ha egy jobb / gyorsabb / szebb, akkor én (és nem csak én) én szívesen, hálás vagyok, és boldog, hogy lépni a könyvtár. Csak nem ezt értelmezni, mint „az első Hajrá” - ez tényleg nagyon hasznos lenne, és érdekes megoldás az ilyen problémákra 95 (vagy talán 99) százalékban, amit csinálunk.
Ha mégis, úgy gondolja, hogy nincs megbocsátás ezen sorokat írom, azt javaslom, hogy hagyja abba a vitát, mint egy esetlen.
ha a kód nincs megjegyzéseket nem triviális logika, ha nincsenek linkek dokumentumokat, amelyek segítenek, hogy megértsük ezt nem triviális logika, hogy miért ez a kód nem govnokod? ma a kód működik, speciális szakértelemmel területen a robbanás, amely ezeket kamenty nem kell, és holnap ő betegszabadságon van és a helyettesítő rendes formoshlep Washi. de annak szükségességét, hogy a kód nem fog menni. és itt kamenty és a linkeket a szükséges forrásokat formoshlepa Washi segíthet megmenteni egy csomó időt és fix triviális (a szabványok a La Spezia) hiba.
Kezdjük azzal, hogy soha nem fogom venni a projektben, amely egy nem-triviális logikai formoshlepa Vasya - hadd levelet operden.
Ez minden, ami írt minták, hanem azért, mert nem is nyilvánvaló, hogy bizonyos formoshlepam. Ne írjon azonos minden vizitore linket egy wiki vagy GOF könyvet az Amazon.