Защо условията на домашните всеки път са така безкрайни ?
Защо трябва да прочета 200 реда за да накодя 150 реда ?
Защото иначе неща остават неясни и в крайна сметка 10 човека решават 10
различни домашни, въпреки, че всичките са чели едно условие. Малко е
притиснително, че 200 реда текст ти се струват "безкрайно" много.
Защо имаме някакъв адски стриктен интерфейс който трябва да имплементираме ?
Защо трябва да се съобразявам с 200 подробности (например ,че незнам си къде
... незнам си коя промелива трябвало да започва главна буква, защото разбираш
ли Пешо искал да достъпи тази променлива в тестовете си) вместо да се
съсредоточим в/у основното ?
Имате зададени публични методи и полета, които описват как да бъде изполван
вашият код. Не помня някога да сме ви забранявали да добавяте нови такива. А
самият факт, че в Go са решили нещо да бъде публично, ако започва с главна
буква е подробност. Не решаваме, че нещо трябва да е публично в името на
тестовете. От тях можем да достъпваме всичко.
Начинът, по който тестваме вашите решения е именно чрез този интерфейс. Можеш
ли да посочиш случай, в който зададеният интерфейс ти е попречил в
съсредоточаването върху основното?
Мислите ли ,че имплементирането на интерфейс е особено интересна задача?
Мисля, че това колко е интересна една задача зависи от функционалността, която
ви караме да имплементирате, а не интерфейса.
Мислите ли ,че тя помага за адекватното развитие на един програмист ?
Да. Освен, разбира се, за тези, които имат намерение да се развият до писане на
shell скриптове. Една голяма част от работата на програмист е да кара разни неща да
си "говорят". Не случайно не ви налагаме "адски стриктни" интерфейси върху
вашите проекти. Една от целите на домашните е да свикнете с това да се грижите
за публичен интерфейс. Проектите са мястото, където оставаме на вас да си
създадете такива.
Нямаме ли си достатъчно тъмнински и подобни академии където генерират кодери ?
Да. Това в каква връзка?
Разбирам ,че искате да ги тествате автоматизирано ... но това не може ли да
стане и с доста по-беден и нерестриктивен интерфейс ?
Отворен съм за предложения как точно си представяш да стане това. Обмислял съм
опцията за лингвистичен анализ върху имената на методите и автоматично
генериране на тестове по тях, но да си призная не съм постигнал особено голям напредък по темата.
П.П.: Честита Коледа :)