LINUX.ORG.RU

История изменений

Исправление i-rinat, (текущая версия) :

Интересно узнать мнение о качестве кода и качестве текущей имплементации.

API не нравится. В функцию создания строки нельзя сразу передать начальное значение. К строке нельзя добавить данные из буфера, не заканчивающегося на \0. Названия добавляющих функций вводят в заблуждение. Без взгляда на прототипы функций сложно понять, чем отличаются _str от _chrs и _ch. Группа функций isequal бессмысленна, так как есть прямой доступ к полю data в dystring_t. Нет документации на способ хранения данных в data (есть \0 терминатор или нет). _length не имеет смысла, поле len в dystring_t доступно. _isempty не имеет смысла, можно просто взять длину и сравнить с нулём. _clear не имеет смысла, можно просто занулить длину. _print_to просто не нужно, если есть доступ к data и fprintf(). Библиотеке для работы со строками вообще нет смысла уметь их печатать куда-либо.

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

А, да. Чтобы библиотеку стоило лицензировать под GPL, она должна быть нереально хороша. Я понимаю, тебя жаба душит, но такой код никому не нужен, его никто тырить не будет.

Исходная версия i-rinat, :

Интересно узнать мнение о качестве кода и качестве текущей имплементации.

API не нравится. В функцию создания строки нельзя сразу передать начальное значение. К строке нельзя добавить данные из буфера, не заканчивающегося на \0. Названия добавляющих функций вводят в заблуждение. Без взгляда на прототипы функций сложно понять, чем отличаются _str от _chrs и _ch. Группа функций isequal бессмысленна, так как есть прямой доступ к полю data в dystring_t. Нет документации на способ хранения данных в data (есть \0 терминатор или нет). _length не имеет смысла, поле len в dystring_t доступно. _isempty не имеет смысла, можно просто взять длину и сравнить с нулём. _clear не имеет смысла, можно просто занулить длину. _print_to просто не нужно, если есть доступ к data и fprintf(). Библиотеке для работы со строками вообще нет смысла уметь их печатать куда-либо.

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