Pasikartojantis kodas
Išvaizda
Pasikartojantis kodas (angl. duplicate code) – ta pati instrukcijų seka programos tekste pasikartoja dukart ar daugiau. Tokią programą sunkiau prižiūrėti (jei pasikartojančiame fragmente aptinkama klaida, ją reikia taisyti iškart keliose vietose).[1]. Pasikartojantis kodas yra rimta ir paplitusi programavimo problema. Manoma, jog daugelyje didesnių sistemų jis sudaro apie 10%–15% viso kodo.[2]
Pavyzdys
[redaguoti | redaguoti vikitekstą]Pavyzdžiui, sakiniai:
int s1 = 0;
for (int i = 0; i < 10; i = i + 1)
s1 = s1 + i * i;
int s2 = 0;
for (int i = 0; i < 10; i = i + 1)
s2 = s2 + i;
daug aiškiau atrodytų bei būtų greičiau vykdomi sujungti į vieną:
int s1 = 0;
int s2 = 0;
for (int i = 0; i < 10; i = i + 1)
{
s1 = s1 + i * i;
s2 = s2 + i;
}
Trijų pakartojimų taisyklė
[redaguoti | redaguoti vikitekstą]Yra žinoma "trijų pakartojimų taisyklė"[3], kurios autoriai siūlo imtis pertvarkymų (atsikratant pakartojimo) jei kodo fragmentas kur nors kartojasi daugiau nei du kartus. Kiti šaltiniai[4] siūlo apskritai vengti bet kokių pasikartojimų.
Šaltiniai
[redaguoti | redaguoti vikitekstą]- ↑ Spinellis, Diomidis. „The Bad Code Spotter's Guide“. InformIT.com. Nuoroda tikrinta 2008-06-06.
- ↑ Kapser, C.; Godfrey, M.W., ""Cloning Considered Harmful" Considered Harmful," 13th Working Conference on Reverse Engineering (WCRE), pp. 19-28, Oct. 2006
- ↑ Martin Fowler; Kent Beck; John Brant; William Opdyke; Don Roberts (1999). Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional. ISBN 978-0201485677.
- ↑ http://c2.com/cgi/wiki?OnceAndOnlyOnce