Решаване на сложни задачи – подходът на програмиста

Всяка задача може да бъде разделена на части. Аз правя това „раздробяване“ по-скоро виртуално, понякога дори в рамките на един файл. Подхождам към глобалната задача, като временно приемам, че по-малките задачи вече са изпълнени и работят правилно. Когато изградя логиката на най-голямата задача, веднага става ясно какви начални условия и какви резултати са необходими за всяка от по-малките. Така всяка от тях се превръща в отделна, добре описана задача, която решавам самостоятелно. Понякога и нея трябва да разделя на още по-малки части, но за глобалната логика тя продължава да бъде една задача.

Да приемем, че глобалната задача е да пренесеш вещите си от дома до квартирата близо до университета. Какво ще сложиш в куфара? Багажът включва дрехи, обувки, документи и пари. В куфара поставяш отделни торби с дрехи и обувки, както и чанта с документи и пари - това са по-малките задачи. Чантата съдържа папки с лични документи, лекции и договори, както и портмоне - подзадачи на „чантата с документи“. Портмонето съдържа банкноти, монети и карти - неговите подзадачи. Когато последователно вложиш тези задачи една в друга, получаваш пълния комплект „куфар“. Може да си го представиш като граф с дървовидна структура. :-)

За разлика от куфара, в програмирането едно и също действие - например четене от базата данни или сортиране - често се използва в много различни задачи. Такива действия изнасям в подпрограми и ги извиквам навсякъде, където са необходими. Химикалът е подобен пример: използваш го за подписване на документи, писане на писма, записки от лекции и бележки в книга.

Така животът става по-лесен, нали? :-)

Share this

This entry was posted in Hacks and tagged , . Bookmark the permalink.

Leave a Reply