Формально, программист - тот, кто способен с нуля написать программу на основе нечетких требований и неясных условий (а иначе бывает редко), а кодировщик - кому нужно точно ставить задачу на отдельные модули системы.
Или, перефразируя один фильм, кодировщик делает то, что его просят, а программист - что нужно сделать на самом деле.
Для определения, who is who, достаточно попросить решить простую алгоритмическую задачу. Например, набросать на произвольном языке решение квадратных уравнений.
Программист обязательно спросит про контекст использования (не важно, в самом начале или в процессе) - в рамках чего применять, какие возможны граничные значения и т.п.
В коде испытуемого следует обращать внимание на соблюдение простых правил - как и почему выбираются типы данных и особенно на то, как обрабатываются исключения.
Вот несколько градаций уровня "мастерства":
- аргументы (переменные квадратного уравнения) принимаются как целые положительные числа (типа int);
- допускается деление на ноль при вычислении дискриминанта;
- исключение обрабатывается возвращением "магического" числа;
- исключение обрабатывается, но при этом не сохраняется информация почему оно произошло;
- исключение обрабатывается структурно (на каждый тип ошибки - свой тип исключения), сохраняется информация о значимых аргументах и т.п...
Читать дальше...

2 коммент.:
А Аджайлист спросит, как ты проверишь результат :)
Да, отличное дополнение )
Отправить комментарий