LINUX.ORG.RU

Нечеткий ввод в API - надо ли?

 


0

1

Нечеткий ввод на уровне UI это прелестно, скажем в gnuplot-e вместо with можно писать w, вместо linetype lt и т.д.

Допустим есть у нас какая то довольно высокоуровневая либа, выскоуровневая в том смысле что на ее основе пишутся коротенькие софтинки, но сама она не идет в виде основы каких монструозных вещей требующих повышенной надежности. В ней есть неск классов со множеством атрибутов с длиииинннными описательными именами + несколько функций с аргуметнами имеющими длииинные описательные имена.

Не знаю как в других ЯП, а в питоне можно прикрутить нечеткий ввод, т.е. на уровне использования либы можно будет сокращать имена атрибутов и аргументов ф-й. Но можно не значит нужно... отговорите;-)

Профит очевиден - нечеткий ввод прощает описки, и позволяет не лазить каждый раз в доки что бы посмотреть как же эта хрень точно пишется. Минусы тоже очевидны - во первых оно может молча делать совсем не то, что хотелось бы, во вторых код одного пользователя либы будет вообще непонятен другому, потому что сокращения имен у каждого могут быть свои.

★★★★★

Ответ на: комментарий от Virtuos86

С аргументами как раз проще чем с атрибутами - пишем декоратор, к-й анализирует сигнатуру ф-ии. Правда не очень понятно как алиасы для аргументов задавать, это удобно... ну можно через аргументы декоратора.

AIv ★★★★★
() автор топика

Минусы тоже очевидны - во первых оно может молча делать совсем не то, что хотелось бы, во вторых код одного пользователя либы будет вообще непонятен другому, потому что сокращения имен у каждого могут быть свои.

При поддержке пользовательского кода будет тяжелее отслеживать, каким образом был использован тот или иной параметр.

Manhunt ★★★★★
()

Профит очевиден - нечеткий ввод прощает описки

Прощает описки? В таком случае, желаю счастливой отладки :D

и позволяет не лазить каждый раз в доки что бы посмотреть как же эта хрень точно пишется.

По-хорошему, эту задачу должна решать IDE. И подсказки по именам давать, и описки подсвечивать после того, как компилятор их обматерит.

Manhunt ★★★★★
()
Ответ на: комментарий от AIv

Да я уже придумал как это сделать, просто и изящно;-)

То есть библиотека, которая должна была просто делать матан, будет козырять познаниями разработчиков в питоновом НЁХ-е? Уверен, что пользователи именно об этом мечтали?

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 2)

однозначно против

лучше сделать заранее определенные сокращения, там где они уместны

publish / pub subscribe / sub

etc

trashymichael ★★★
()
Последнее исправление: trashymichael (всего исправлений: 1)
Ответ на: комментарий от Manhunt

Прощает описки? В таком случае, желаю счастливой отладки :D

Я область применения написал. Скажем мне надо построить из питона хитровыкрученный график. Если либа меня не так поймет, я это сразу увижу по результату просто глазами, скрипт простой, и мне бы хотелось что бы его занимало как можно меньше времени и сил, что бы не надо было лащить в доки и смотреть - как там оно блин называется. Для простой скриптоты нечеткий ввод ИМНО самое то.

ЧТо касается IDE - у меня emacs на подсветку не настроен, и у коллег вроде тоже. Это такая специфическая вещь...

AIv ★★★★★
() автор топика
Ответ на: комментарий от trashymichael

У меня в интефрейсах shell давно сделаны произвольные сокращения - очень удобно. Каждый сокращает по своему.

AIv ★★★★★
() автор топика
Ответ на: комментарий от AIv

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

trashymichael ★★★
()
Ответ на: комментарий от trashymichael

А чем написание простого скрипта на питоне отличается от работы в баше?

И что значит «надеяться»?

AIv ★★★★★
() автор топика

В PL/I похожая возможность только путала.

tailgunner ★★★★★
()
Ответ на: комментарий от AIv

на какой-то там вывод, оно либо есть либо его нет, магия тут ненужна

trashymichael ★★★
()
Ответ на: комментарий от Manhunt

По-хорошему, эту задачу должна решать IDE. И подсказки по именам давать, и описки подсвечивать после того, как компилятор их обматерит.

Поддерживаю, сабж не нужен.

unfo ★★★★★
()
Ответ на: комментарий от AIv

Для простой скриптоты нечеткий ввод ИМНО самое то.

Если никто кроме тебя на это никогда смотреть не будет.

anonymous
()
Ответ на: комментарий от AIv

Если либа меня не так поймет, я это сразу увижу по результату просто глазами

Может тебе тогда вообще графики не надо строить, раз ты всё и так видишь?:)

скрипт простой, и мне бы хотелось что бы его занимало как можно меньше времени и сил

Автоматизируй лучше. Или гуй напиши, чтоб кнопки были - тогда в документацию лазить не надо будет. Если, конечно, у тебя прям так всё очевидно.

Для простой скриптоты нечеткий ввод ИМНО самое то.

Выглядит так, как будто ты уже давно всё решил. А теперь вот продолжаешь себя уговаривать, что ты прав.

anonymous
()
Ответ на: комментарий от AIv

Да делайте. Не слушайте их. Дилетант одобряэ.
На худой конец огребете немного проблем. Ну так у вас чистая прикладуха, далеко не факт, что общие предубеждения о «качестве кода» должны приниматься во внимание в ущерб удобству.

Virtuos86 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.