Сценарий Python, выполняемый с make-файлом

Большинство программистов бесполезны при программировании

(Вы сказали «спорный»)

Я сидел в своем офисе дома, размышляя над какой-то проблемой программирования, и я закончил глядя на мою копию «Полной разборки ПЗУ Spectrum» на моей книжной полке и размышляя:

«Сколько программистов сегодня могут написать код, используемый в ПЗУ Spectrum?»

. те, кто не был знаком с ним, имели базовый язык программирования, который мог выполнять простую двумерную графику (линии, кривые), файловый ввод-вывод и вычисления с плавающей запятой, включая трансцендентные функции, все в 16K кода Z80 (< 5 МГц 8-битный процессор, который не имел FPU или умножение целых чисел). Большинству выпускников сегодня будет сложно написать программу Hello World, которая была такой маленькой.

Я думаю, что проблема в том, что абсолютное количество программистов, которые могли бы это сделать, почти не изменилось, но в процентном отношении оно быстро приближается к нулю. Это означает, что качество написанного кода снижается по мере того, как все больше программистов не соответствуют требованиям.

Там, где я сейчас работаю, есть семь программистов, включая меня. Из них я единственный, кто постоянно обновляется, читая блоги, книги, этот сайт и т. Д. И занимаясь программированием «для удовольствия» дома (моя жена постоянно этим восхищается). Есть еще один программист, который заинтересован в написании хорошо структурированного кода (интересно, он проделал большую работу с использованием Delphi) и реорганизации плохого кода. Остальные, ну, не велики. Поблагодарив об этом, вы могли бы описать их как программистов «грубой силы» - они будут заставлять неуместные решения, пока они не будут работать по моде (например, использование массивов C # с повторяющимся массивом. Изменение размера для динамического добавления элементов вместо использования List).

Так вот, я не знаю, является ли место, в котором я сейчас нахожусь, типичным, хотя с моих предыдущих позиций я бы сказал, что это так. Оглядываясь назад, я вижу общие шаблоны, которые определенно не помогли ни одному из проектов (отсутствие экспертной оценки кода для одного).

Итак, 5 из 7 программистов - мусор.

Skizz

8
задан Aaron Hall 5 May 2015 в 19:44
поделиться

3 ответа

Это не так много информации, поэтому ответ немного расплывчатый. Основной принцип Makefiles - перечислить зависимости для каждой цели; в этом случае ваша цель (назовем ее foo) зависит от вашего скрипта python (назовем его do-foo.py):

foo: do-foo.py
    python do-foo.py > foo

Теперь foo будет повторно запускаться при каждом изменении do-foo.py (при условии, конечно, что вы звонок сделать).

17
ответ дан 5 December 2019 в 08:25
поделиться

И в случае, когда скрипты, которые необходимо запустить, не создают никакого полезного выходного файла, который можно использовать в качестве цели, вы можете просто использовать фиктивную цель:

scripts=a.py b.py c.py
checkfile=.pipeline_up_to_date

$(checkfile): $(scripts)
    touch $(checkfile)
    echo "Launching some commands now."

default: $(checkfile)
3
ответ дан 5 December 2019 в 08:25
поделиться

Если вы хотите, чтобы этот Makefile автоматически "создавался" сразу после сохранения, pyinotify , который является оболочкой для inotify , может быть единственным возможность под Linux. Он регистрируется в ядре для обнаружения изменений FS и вызывает вашу функцию.

См. Мой предыдущий пост по этой теме.

0
ответ дан 5 December 2019 в 08:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: