Արագությունը որպես ծրագրի ամենակարևոր բաղկացուցիչ
Յուրաքանչյուր ծրագրավորող իր մասնագիտական գործունեության ընթացքում ի վերջո ստիպված է լինում օպտիմիզացնել (optimization or refactoring) իր սեփական ծրագրերը, քանզի նախագծերի հզորացմանը զուգընթաց կտրուկ մեծանում է նրանցում «դժվարանցանելի» մասերի ի հայտ գալը։ Ծրագիրը դառնում է ավելի դանդաղ ու անզգայուն օգտագործողի հրամաններին և նույնիսկ դադարում գործելուց, եթե հարցումների քանակը գերազանցում է կրիտիկական շեմը։
Ինչպես գիտենք ցանկացած խնդրի կանխարգելումը շատ ավելի «էժան» է քան նրա վերացումը։ Ծրագրավորումը բացառություն չէ այդ օրինաչափությունից։ Այսինքն եթե մի փոքր ավելի ուշադրություն դարձնենք նախագծի գրագետ պլանավորմանը և ժամանակի հետ հղկենք մեր ծրագրավորման սովորություններն ու ձևը, ապա ստիպված չեք լինի ամիսներ կամ տարիներ հետո նստել ու փորձել գլուխ հանել «խառնաշփոթից», որը ինքներտ եք ստեղծել։ Ի միջայլոց ասեմ, որ շատ ժամանակատար ու զզվելի մի բան է...
Գրագետ պլանավորումը գալիս է գիտելիքների ու տարիների փորձի հետ, իսկ գրագետ ծրագրավորման ձևը ցավոք շատ հազվադեպ է փոխվում տարիների հետ։ Դա մարդու ձեռագրի նման է ու եթե նա նախընտրում է ասենք ցիկլը կատառել for օպերատրով, ապա շատ դժվար է նրան համոզել փոխել այն foreach-ով, եթե իհարկե լուրջ փաստարկներ չկան (ծրագրավորողներին շատ դժվար է համոզելը իմիջայլոց)։ Հենց այդ նպատակով ստեղծել եմ այս բաժինը, որտեղ հավաքել եմ արագագործության օպտիմիզացման վերջին նորությունները։ Դրանք բուն լեզվի զարգացմանը զուգընթաց փոխվում են, սակայն կաշխատեմ միշտ թարմ պահել այն, քանի որ ես նույնպես հաճախ օգտվում եմ դրանից։
Իհարկե դժվար է միանշանակ խորհուրդներ տալ, որոնք կաշխատեն ցանկացած իրավիճակում, սակայն կան որոշակի «չգրված» օրենքներ, որոնց պահպանումը կարող է զգալիորեն իջեցնել ծրագրի բեռնավորվածությունը և արագացնել նրա աշխատանքը։ Եկեք փորձենք քննարկել դրանցից մի քանիսը։
Quote
Սույն հոդվածի օգտագործումը (վերատպումը) թույլատրվում է միայն բարի նպատակներով և եթե առկա է հղումը դեպի այս էջը












