This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
courses:programming:rules_extra_kurs [2022/12/10 09:08] 127.0.0.1 external edit |
courses:programming:rules_extra_kurs [2024/03/03 09:17] (current) sergey_tinyakov [CLI (Command Line Interface)] |
||
---|---|---|---|
Line 6: | Line 6: | ||
* Обязательная обработка всех возможных исключительных ситуаций (даже бьющийся в агонии по клавиатуре пользователь не должен “уронить” вашу программу неверными аргументами) | * Обязательная обработка всех возможных исключительных ситуаций (даже бьющийся в агонии по клавиатуре пользователь не должен “уронить” вашу программу неверными аргументами) | ||
* Для всех(для которых это имеет смысл) ключей должны быть как полные так и сокращенные версии(-h, --help) | * Для всех(для которых это имеет смысл) ключей должны быть как полные так и сокращенные версии(-h, --help) | ||
- | * По-умолчанию последним аргументов утилите должно передаваться имя bmp файла, в который и будут записаны изменения, однако это можно переопределить соответствующими ключами, как и имя выходного файла. | + | * По-умолчанию последним аргументом утилите должно передаваться имя входного bmp/png файла. Имя выходного файла по умолчанию должно быть ''out.bmp'' (''out.png'' для png), однако это должно быть возможным переопределить соответствующими ключом ''-o'', ''--output '' |
- | * Утилита должна иметь функцию печати подробной информации о bmp-файле | + | * Утилита должна иметь функцию печати подробной информации о bmp\png-файле, ключ ''--info'' |
- | * В случае, если программой будут поддерживаться не все версии bmp-файлов, программа должна выводить об этом внятное сообщение, а не крашиться. | + | * В случае, если программой будут поддерживаться не все версии bmp/png-файлов, программа должна выводить об этом внятное сообщение, а не крашиться. |
* Для каждого инструмента должен быть соответствующий ключ и ключи для его конфигурирования. Например, рисование прямоугольника может выглядеть как-то так: | * Для каждого инструмента должен быть соответствующий ключ и ключи для его конфигурирования. Например, рисование прямоугольника может выглядеть как-то так: | ||
<code> | <code> |