Если возникает идея, а я не за компом, то записываю в блокнот на мобиле.
Проектирую/придумываю алгоритмы в специальной тетрадке для разработок. Там же рисую GUI, для Android могу и сервисом
Fluid UI воспользоваться.
Если это что-то не очень сложное, то могу проектировать во время создания проекта и написания главного класса. В принципе, часто так делаю, если нужно быстро что-то создать.
Для больших проектов или проектов, которые нужно кому-то показывать, использую github. Для прочих своих разработок bitbucket.
Во время кодирования стараюсь писать так, чтобы потом можно было легко расширить функционал.
Скуп на комментарии, я за самодокументирующийся код. Но если код нужно будет кому-то показывать или пишу библиотеку, тогда комментрии дописываю потом.
Тесты не пишу - не научили в ВУЗе их писать, да и вряд ли научат(
__________________