code reuse

Dec 10, 2015 17:54

Переиспользование кода и его универсализация под разных пользователей приводят примерно к таким интерфейсам ( Read more... )

Leave a comment

Comments 12

realsupport December 10 2015, 18:31:31 UTC
К этому приводит любое чрезмерное обобщение.

С наступающим, кстати :)

Reply

_winnie December 10 2015, 22:32:11 UTC
Спасибо!

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

Без каких-то новых принципиальных парадигм в программировании, вида "возьми ту функцию, только выкини в ней предпоследний if".

Reply


major_m December 10 2015, 20:30:04 UTC
Почему бы не сделать какую-нибудь структуру Settings с дефолтными значениями и каким-нибудь набором стандартных установок?

Reply

_winnie December 10 2015, 21:17:45 UTC
Это собственно уже и есть структура с дефолтными значениями (в python - параметры функций именованые, поэтому можно без структур указать только нужные). Но всё равно, поражает количеством.

pandas.read_table ( ... )

Reply

major_m December 10 2015, 22:22:52 UTC
А, это python, я не узнал вас без def-а. =) И функция не вызывается, а объявляется. Да, тогда ок, но выглядит действительно страшновато.

Reply


wizzard0 December 10 2015, 21:58:07 UTC
и тестов у этой функции два в какой степени? :)

Reply

_winnie December 10 2015, 22:17:01 UTC
По крайней мере, каждое название - встречается в папке с тестами

Из любопытства посмотрел некоторые параметры - тестируется в разных вариантах.

Видно, что несмотря на невозможность перебрать все варианты - всё-таки постарались наиболее очевидно зацепленные варианты протестировать.

Вот один из тестовых скриптов - https://github.com/pydata/pandas/blob/master/pandas/tests/test_frame.py

Reply


moon_aka_sun December 10 2015, 23:07:13 UTC
С другой стороны, может это как раз удобно? Пишешь себе один вызов, что нужно - специфицируешь. Никаких дополнительных конфигов и структур данных. Как в имажмаджике - всего несколько команд, но у них миллион опций. Не нужно - не используешь, и всё ок.

Reply

_winnie December 10 2015, 23:11:51 UTC
Да, конечно. С другой стороны, основное время уходит на выяснение, какие именно параметры нужны из миллионов, вплоть до того, что иногда быстрее написать велосипед, чем прочитать документацию (или даже быстрее чем допилить напильником решение со StackOverflow, если оно не совсем точно то, что нужно себе).

Reply


diente_de_lion December 11 2015, 07:23:35 UTC
кто-то не смог вовремя остановиться ))
хеш сюда просто сам просится :)

Reply


Leave a comment

Up