Мне нужно документировать программное обеспечение, над которым я сейчас работаю. Программное обеспечение состоит из нескольких языков программирования и скриптов, которые заставили меня задуматься. Если приходят новые разработчики и им нужно что-то исправлять, они могут знать Java, но, возможно, не bash-скриптинг. Было бы неплохо, если бы была программа, которая помогла бы понять, что
for f in "$@" ; do
означает. Я думал о чем-то, что создает статическую HTML-страницу с подсветкой кода и синтаксиса, и если вы наводите курсор мыши на что-то (например, «для»), это отобразит всплывающее окно с объяснением:
for
запускает цикл, который перебирает все значения, следующие за in
. В цикле вы можете получить доступ к каждому значению через переменную $f
. Тело цикла находится между do
и done
Что-то подобное уже существует?
[РЕДАКТИРОВАТЬ] Это всего лишь пример. Вы получите другую помощь для f
, in
, "$@"
, ;
и do
, то есть каждый элемент строки должен быть объяснен. Неизвестные элементы (например, имена команд) должны ссылаться на Google. Таким образом, вы можете понять, что он делает, даже если вам не хватает какой-то детали.
[EDIT2] Я знаю, что вы не можете написать программу, которая понимает, что делает другая программа. То, что я ищу, - это простой инструмент, который будет выполнять «расширенную подсветку синтаксиса» в том смысле, что он раскрасит выражение и даст краткое объяснение того, что оно означает (плюс, возможно, ссылку на некоторый эталон глубины).
Это предназначено для тех, кто знает, как программировать, но, возможно, раньше не видел какой-то неясной конструкции. Say
echo "Error" 1>&2
Каждый программист bash знает, что это значит, но 1>&2
может озадачить разработчика Java, несмотря на тот факт, что он может догадаться, что echo
== System.out.println
. Простое «Перенаправить стандартный вывод на стандартный поток ошибок» прояснит ситуацию и даст мгновенное «АГА!» что позволяет им оставаться в их нынешнем ходу мыслей.