Почему мы до сих пор встраиваем описания исходного кода на естественном языке (т.е. причину, по которой была написана строка кода) в исходный код, а не как отдельный документ?
Учитывая обширные возможности, предоставляемые современным средам разработки (мониторы с высоким разрешением, двойные мониторы и т. Д.), Среда IDE может предоставлять полузамкнутые панели, исходный код которых визуально отделен - но внутренне связан с - его соответствующие комментарии. Например, разработчики могут писать комментарии к исходному коду на гиперссылочном языке разметки (ссылаясь на дополнительные требования к программному обеспечению), что одновременно предотвращает загромождение документации исходным кодом.
Какие недостатки могут помешать такому механизму разработки программного обеспечения?
Макет, чтобы помочь прояснить вопрос:
Когда курсор находится на определенной строке в исходном коде (показан синим фоном выше), документация, соответствующая строке на курсоре, выделяется (т. Е. Отличается от других деталей). Как отмечалось в вопросе, документация будет находиться в состоянии блокировки с исходным кодом, когда курсор будет перемещаться по исходному коду. Горячая клавиша может переключаться между «режимом документации» и «режимом разработки».
Потенциальные преимущества включают в себя:
- Больше исходного кода и больше документации на экранах одновременно
- Возможность редактировать документацию независимо от исходного кода (независимо от языка?)
- Пишите документацию и исходный код параллельно без конфликтов слияния
- Документация с гиперссылками в реальном времени с превосходным форматированием текста
- Квазиреальный машинный перевод в реальном времени на разные естественные языки
- Каждая строка кода может быть четко связана с задачей, бизнес-требованием и т. Д.
- Документация может автоматически помечать метку времени при написании каждой строки кода (метрики)
- Динамическое включение архитектурных диаграмм, изображений для объяснения отношений и т. Д.
- Документация из одного источника (например, фрагменты кода тега для включения руководства пользователя).
Замечания:
- Окно документации может быть свернуто
- Рабочий процесс для просмотра или сравнения исходных файлов не будет затронут
- Как происходит реализация - это деталь; документация может быть:
- хранится в конце исходного файла;
- разделить на два файла по соглашению (
filename.c
,filename.c.doc
); или - полностью управляемый базой данных
- Под гиперссылочной документацией я подразумеваю ссылки на внешние источники (такие как StackOverflow или Wikipedia) и внутренние документы (т. Е. Вики на поддомене, который может ссылаться на документацию по бизнес-требованиям) и другие исходные файлы (аналогично JavaDocs).
Связанная тема: Что с отвращением к документации в отрасли?
Gson()
объект быть инстанцирован по отношению к классу MainActivity, ни то, как он относится к решению конкретных требований бизнеса. Описание самого кода, а не API, которые он использует, может быть в отдельном окне, независимо от сторонних JavaDocs.