проектирование библиотечных модулей
От: monax  
Дата: 16.04.12 19:14
Оценка:
Рефакторю сейчас набор библиотечных функций одного проекта. Натыкаюсь на всякие нехорошие вещи, как то, что библиотечная функция для обработки изображений сама ходит в базу. Другие библиотечные функции идут с хардкодом путей к файлам с данными. Ну и т.п. Такие вещи усложняют сопровождение, чтение и тестирование, потому что функции пользуются не только теми данными, что им дали в параметрах, но и сами их получают то из базы, то с диска. А что там может лежать — в тесте предусмотреть трудно, да и не всегда это возможно.

Так вот, работая над этим кодом, мне вспомнились всякие "Шаблоны проектирования" или "Агоритмы и структуры данных", но не смог вспомнить ни одного мануала по разработке наборов библиотечных функций, всё больше отрывки с форумов, да свой опыт. Из этого у меня два вопроса:
1. читали ли вы где-нибудь рекомендации по разработке библиотек функций, которые легко тестировать и поддерживать?
2. какими правилами вы сами пользуетесь в таких случаях?
Re: проектирование библиотечных модулей
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 16.04.12 20:10
Оценка:
Здравствуйте, monax, Вы писали:

M>Рефакторю сейчас набор библиотечных функций одного проекта. Натыкаюсь на всякие нехорошие вещи, как то, что библиотечная функция для обработки изображений сама ходит в базу. Другие библиотечные функции идут с хардкодом путей к файлам с данными. Ну и т.п. Такие вещи усложняют сопровождение, чтение и тестирование, потому что функции пользуются не только теми данными, что им дали в параметрах, но и сами их получают то из базы, то с диска. А что там может лежать — в тесте предусмотреть трудно, да и не всегда это возможно.


M>Так вот, работая над этим кодом, мне вспомнились всякие "Шаблоны проектирования" или "Агоритмы и структуры данных", но не смог вспомнить ни одного мануала по разработке наборов библиотечных функций, всё больше отрывки с форумов, да свой опыт. Из этого у меня два вопроса:

M>1. читали ли вы где-нибудь рекомендации по разработке библиотек функций, которые легко тестировать и поддерживать?
M>2. какими правилами вы сами пользуетесь в таких случаях?

Framework Design Guidelines, GoF, Refactoring, Code complete, принципы SOLID
Re: проектирование библиотечных модулей
От: Хвост  
Дата: 17.04.12 02:09
Оценка:
Здравствуйте, monax, Вы писали:

M>1. читали ли вы где-нибудь рекомендации по разработке библиотек функций, которые легко тестировать и поддерживать?

M>2. какими правилами вы сами пользуетесь в таких случаях?

API Design for C++
http://www.apibook.com/blog/
People write code, programming languages don't.
Re: проектирование библиотечных модулей
От: Banch  
Дата: 17.04.12 08:14
Оценка:
Скорее про внешнюю сторону библиотеки, но возможно поможет:
API Usability: Guidelines to improve your code ease of use
http://www.codeproject.com/Articles/8707/API-Usability-Guidelines-to-improve-your-code-ease
Re: проектирование библиотечных модулей
От: maxkar  
Дата: 18.04.12 10:51
Оценка:
Здравствуйте, monax, Вы писали:

M>1. читали ли вы где-нибудь рекомендации по разработке библиотек функций, которые легко тестировать и поддерживать?

M>2. какими правилами вы сами пользуетесь в таких случаях?

Practical API Design: Confessions of a Java Framework Architect
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.