Software-ontwikkelaars evenwicht veel factoren bij het bouwen van applicaties en websites . In de vroege dagen , toen computers had weinig opslagruimte en middelen , grootte en snelheid waren de belangrijkste zorgen . Vandaag , met multi -core processors en gigabytes aan geheugen , complexiteit en onderhoudbaarheid vaak overschrijven prestaties . Hier zijn enkele van de belangrijkste factoren te overwegen bij het kiezen van de juiste algoritmen voor uw project . Instructies Meet de prestaties 1 . De eerste factor die altijd opkomt bij het meten van een algoritme is snelheid. Niemand wil wachten langzame software . Er zijn verschillende manieren om te bepalen welk algoritme het beste zal presteren voor de taak bij de hand . Een algoritme kan handmatig worden gemeten door het tellen van instructies met waarschijnlijkheden uitvoeringspaden bepalen . Makkelijker nog profilers die machine cycli tellen als de code wordt uitgevoerd . Kopen van 2 Vergelijk code grootte . Hoewel niet zo belangrijk als de prestaties , de grootte van de code wordt soms een factor . Embedded software en mobiele apps moeten vaak beperkt geheugen delen , en browser - based code kost tijd om te downloaden . Soms is een kleine hit in de prestaties kunnen worden opgeofferd aan een aanzienlijke hoeveelheid code scheren . 3 Bepaal het niveau van complexiteit . De meeste commerciële software-ontwikkelaars code schrijven ingezet op desktop PC's of webservers met veel rekenkracht en meer dan voldoende geheugen . Vandaag de dag , de grootste uitdaging is in het beheer van complexiteit . Een vrij eenvoudige applicatie kan vaak overal van enkele tientallen tot enkele honderden code modules , elk met enkele honderden regels code . In deze toepassingen , de beste algoritmen zijn eenvoudig te begrijpen en gemakkelijk te implementeren . Om de complexiteit te meten , tellen het aantal beslispunten , functie-aanroepen , aantal variabelen en de complexiteit van de data structuren . 4 Vergelijk onderhoudbaarheid . Nauw gekoppeld aan de complexiteit is onderhoudbaarheid . Een algoritme met minder complexiteit , gepresenteerd met veel witte ruimte en rijkelijk bestrooid met goed geschreven reacties , zal veel gemakkelijker aan te passen wanneer eisen veranderen . De meeste ontwikkelaars besteden veel meer tijd onderhouden en aanpassen van bestaande code dan ze creëren van nieuwe software . 5 valideren op juistheid . Vaak over het hoofd gezien in een bespreking van algoritmes is de behoefte aan een passend algoritme dat aan alle eisen en werkt correct beantwoordt . De code moet nauwkeurige resultaten voor ingangen, waaronder randvoorwaarden en onverwachte waarden retourneren . Filters moeten worden getroffen om slechte data af te wijzen , en exception handling code moet reageren op numerieke overflows , onderlopen , netwerkstoringen of andere voorwaarden . 6 Kies de meest geschikte algoritme . De beste keuze balanceert al deze factoren op een manier die prestaties maximaliseert terwijl het minimaliseren van de kosten van de ontwikkeling en het eigendom .
|