ИМХО, если бы вы могли сделать только одну вещь перед передачей вашего проекта (прямо или косвенно), я бы порекомендовал вам дважды и трижды проверить, что он компилируется как есть из системы контроля версий.
Не смеюсь, но я не могу сказать вам, сколько раз я получал «последние» из системы контроля версий, и она не компилировалась, но позже узнала, что я не была «на старой коробке Фреда», потому что, очевидно, код «только компилирует на старой коробке Фреда ". У меня даже был прежний работодатель, который быстро удалил мой рабочий стол из моего куба и заменил его «старой коробкой Фреда», чтобы я мог работать над проектом, который должен был.
В качестве расширения приведенной выше рекомендации, поскольку иногда получение последних версий - это не все, что необходимо для компиляции приложения, я рекомендую вам создать файл README.txt, поместить его в корневой каталог приложения и поместить его в систему управления версиями. Этот документ README должен содержать список внешних зависимостей, которые не могут быть включены в систему контроля версий (если таковые имеются), как настроить базу данных, и любые другие странности в циклах компиляции, выполнения или развертывания приложения.
Все, что выходит за рамки вышеупомянутых двух предложений, было бы просто подливкой, но ИМХО вышеупомянутые два почти необходимы для любого проекта, большего чем «Hello World».
РЕДАКТИРОВАТЬ:
По теме документации ...
На протяжении многих лет я писал и читал свою значительную часть документации по программному обеспечению с целью облегчить переход разработчика. Я бы сказал, что такие документы редко стоят той бумаги, на которой они напечатаны. При написании таких документов разработчики (включая меня) редко думают о важных частях приложения, мы склонны думать только о самых последних пожарах, с которыми мы боролись. Помимо того, что эти документы не охватывают все важные аспекты программного обеспечения, они также ОЧЕНЬ быстро устаревают. Когда документ устарел, будущий разработчик, скорее всего, полностью его проигнорирует, вместо того, чтобы привести его в соответствие с реальностью (подумайте об изменении требований).
Вместо документации как таковой, я рекомендую юнит-тесты. Я знаю, что на данный момент это звучит устарело, но пусть код сделает документацию за вас. Сломанные модульные тесты трудно игнорировать (и их легче обнаружить), чем документ Word. Кроме того, английский язык ужасно неточен для формулировки тонкостей разработки программного обеспечения. Существует просто слишком много способов интерпретировать значение даже самых простых английских предложений, и это просто приводит к путанице и / или ошибкам.