LINUX.ORG.RU

Аргументы за и против длинных имён функций

 , , ,


1

1

Пример


#ifndef cmouse_h
#define cmouse_h
#include "cengine.h"
#include "cevent.h"

/*     ==EVENT FUNCTIONS==     */

mouse* mouse_event_get();
void   mouse_event_update();
bool   mouse_event_evented();
bool   mouse_event_key();
bool   mouse_event_wheel();
bool   mouse_event_position();

vec2   mouse_event_position_xy(void);
float  mouse_event_position_x(void);
float  mouse_event_position_y(void);

vec2   mouse_event_position_xyrel(void);
float  mouse_event_position_xrel(void);
float  mouse_event_position_yrel(void);

bool   mouse_event_keydown_left(void);
bool   mouse_event_keydown_right(void);
bool   mouse_event_keydown_middle(void);

bool   mouse_event_keyup_left(void);
bool   mouse_event_keyup_right(void);
bool   mouse_event_keyup_middle(void);

bool   mouse_event_wheel_up(void);
bool   mouse_event_wheel_down(void);
bool   mouse_event_wheel_left(void);
bool   mouse_event_wheel_right(void);

/*==        STATE RUNCTIONS       ==*/

bool   mouse_state_key_left(void);
bool   mouse_state_key_right(void);
bool   mouse_state_key_middle(void);

vec2   mouse_state_position_xy(void);
float  mouse_state_position_x(void);
float  mouse_state_position_y(void);

vec2   mouse_state_position_xyrel(void);
float  mouse_state_position_xrel(void);
float  mouse_state_position_yrel(void);


#endif

Сабж.

Deleted

Последнее исправление: Deleted (всего исправлений: 1)

Хорошее АПИ для примера можно взять из gstreamer, по крайней мере оно мне оч. нравится.

kuzulis ★★
()

Чувство меры, епт. За и против — в зависимости от длины.

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

швятые юниксовые abdrstr, lpnmbr, txtrdl и тому подобное? Unix-way же!

Это не unixway. Названия типа atoi или strtok и т.п. были сделаны потому что в древних компиляторах (линкерах и т.д.) было ограничение на максимальную длину идентификатора.

no-such-file ★★★★★
()
Ответ на: ходишь по лезвию от anonymous

стандарт не гарантирует поддержку внешних имён длиннее 31 символа

В наше время это касается разве-что эмбедщиков, и то вряд ли.

no-such-file ★★★★★
()
Ответ на: комментарий от anonymous

В гуйне оопщина нужна

Не знаюю tcl-ный tk не показался мне OOным, а об изобретении более удобного способа гуить я не слышал. По крайней мерее ио ОО мира. Что там нынче самое самое?

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

А если все 3 в 1 в struct загнать?

Так мы приходим к базовым концепциям ООП.

Чтобы ты не пугался - ООП не есть только наличие в ЯП ключевых слов class или object, а сам подход к стилю программирования как таковой.

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

Так мы приходим

А всё таки, распутает ли пользователя уменьшение кол-ва аргументов засовыванием в поля структуры?

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

Так мы приходим к базовым концепциям ООП.

Не согласен, тут всё не чёрное и белое, это использовали ещё до придумывания ООП как термина. Я могу использовать структуры для просто более удобного объединения данных и всё.

Deleted
()
Ответ на: комментарий от LongLiveUbuntu

Но вот libcurl с тобой не согласен ))), если посмотреть на api kore.io то там вообще всё на перевосяк, но удобно и практично!. Во многом да ты прав, но но )))))0

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