Вариант 3.
Обязательно комментарии в коде и все пояснения того, что делали и почему именно так, а не иначе.