Tänk dig en programmerare mannen inom ett visst programmeringsspråk . Han känner de styrkor och svagheter i programmeringen . Dessutom har han sin egen stil och förhållningssätt till detta programmeringsspråk . Om han skriver sin algoritm i koden , han nästan säkert begränsar algoritmen till sin kunskap om språkets begränsningar och sin egen .
Solution - Centric
I stället för den föreskrivna begränsningar skriva algoritmer i kod eller pseudokod , med generaliserad logik befriar dig att fokusera enbart på lösningen på ditt problem , inte genomförandet av lösningen . Det förutsätter att när du definierar den bästa algoritmen , kommer du räkna ut hur man ska genomföra det i den miljö du har i åtanke . Det kan också förutsätta att en lösning i algoritmen kan ordinera ett eget genomförande. Addera Assumption Undvikande
Använda generaliserad logik hjälper dig att undvika en mängd olika antaganden . Även om dina antaganden har någon grund i verkligheten , och kan faktiskt bidra till att effektivisera din process genom att förhindra döda end-lösningar , kan de också vara begränsande . Till exempel; Om du misstänker att du är på väg mot en livskraftig algoritm som du inte har resurser att genomföra, kan det vara klokt att lyssna på din intuition , trots sin grund i antagandet . Vara medveten om, men om man ger efter för antagande - . Du kan lämna de bästa idéerna oupptäckta
Icke - specialisten Vänlig
Om du skriver en algoritm för att lösa ett problem och du inte har någon kunskap om genomförandet detaljer , kan det faktiskt vara till hjälp . Låt nödvändighet styra processen där du är en expert; lämna algoritmen iväg till en genomförande expert. Separera de två stegen tar mer resurser , men det kan också ge bättre resultat . Addera