Папки. Каждый делает по своему. - общего не видел
Сейчас я бы сделал так.
dist // Папка с готовым дистрибутивом (программный продукт) содержащий установочный файл или образ диска.
build // папки сборки, хлам всякий DCU, *.a
doc // Документация
src // Папка с исходным кодом программ
tools // Исполняемые файлы утилит
data // Данные
3rdparty // Исходный код сторонних бибилотек и утилит. А так же ПО и данные от контр агентов.
it // Айти средства: скрипт сборки дистрибутива, скрипты бекапа, развёртывания среды разработчика, сервера сборки, VNC клиенты.
3rdparty\dist
3rdparty\libs
3rdparty\apps
3rdparty\data
tools - Портативные утилиты
для примера клиент северное приложение.
data\client
data\server
data\common
data\tests
data\gen_tests
src\client
src\server
src\common - общий исходный код
src\tests
src\gen_tests
Добавлено спустя 31 минуту 46 секунд:BIT писал(а):unit, class, функции, структуры и т.п
В интернете этого полно.
https://en.wikipedia.org/wiki/Coding_conventionsКнигу качественный код и коде стайл тут уже привели.
Ещё хочу добавить стандарт
https://en.wikipedia.org/wiki/MISRA_CОн хотя и для Си, но некоторые вещи можно позаимствовать.
По поводу классов. Их надо делать максимально не завистными этому посещено много книг.
Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж.-Приемы объектно-ориентированного проектирования (2001)
Фаулер Мартин (Fowler Martiп)-Рефакторинг - улучшение существующего кода-Символ-Плюс (2003)
Ошероув Рой.-Искусство автономного тестирования с примерами на С#(2014)
Но что хочу добавить. Лучше конечно учится на готовых проектах.
По дизайну мне понравилось руководство от гугла:
https://developer.android.com/guide/pra ... index.htmlА так же гноме
https://developer.gnome.org/hig/stable/