1

Тема: Імена змінних

Доброї пори доби шановне панство
Маю наступну мульку, і стало цікаво як громада в таких ситуація діє

От є код

void get_meme(int id, meme_t *meme) 
{
    meme_t meme1;
    meme1 = fetch_meme_by_id(id);
    check_meme(&meme1);
    if (meme) {
        *meme = meme1;
    }
}

Щось типу такого. Давайте припустимо що питання архітектури і важливості функції доведено, і то міняти не треба. Проблема в тому як гарно назвати meme1? Розумію що кожен як хоче так і називає і взагалі доволі дурне питання, та все ж.

Подякували: leofun011

2 Востаннє редагувалося quez (06.07.2016 11:37:34)

Re: Імена змінних

    void get_meme(int id, meme_t *target) 
    {
        meme_t meme;
        meme = fetch_meme_by_id(id);
        check_meme(&meme);
        if (target) {
            *target = meme1;
        }
    }

Оскільки про локальну змінну не можна нічого сказати, крім того, що вона є meme, то її є сенс так і назвати. А meme з параметра - це не просто meme, а meme для запису витягнутого meme, тому я назвав би його target

Подякували: 0x9111A, cheappi3862

3

Re: Імена змінних

А якщо інтерфейс міняти не бажано?

4

Re: Імена змінних

0x9111A написав:

А якщо інтерфейс міняти не бажано?

А імена параметрів відносяться до інтерфейсу?

5

Re: Імена змінних

Давайте вважати що так  *PARDON*

6 Востаннє редагувалося koala (06.07.2016 12:05:29)

Re: Імена змінних

Я часто називаю такі змінні result (мабуть, кріпко мене тоді паскаль вкусив).
Також буває meme_, але це частіше для private даних.
Ну і код якийсь троха... дивний. В fetch_meme_by_id та check_meme є якісь важливі побічні ефекти, які заважають винести перевірку meme на початок?

Подякували: leofun011

7

Re: Імена змінних

Давайте отак, ну суть в тому що "опшинал парамітер"
А при чому result до паскаля? Бо я теж так часто пишу, не знав що це через паскаль. Якби в моєму випадку result підходив то так би і написав

status_t get_meme(int id, meme_t *meme) 
{
    status_t status;
    meme_t meme1;
    meme1 = fetch_meme_by_id(id);
    status = check_meme(&meme1);
    if (meme) {
        *meme = meme1;
    }

    return status;
}

8

Re: Імена змінних

Ух, навіть така коротка функція якась негарна. Де документація до функції? Що вона робить? Яке призначення того meme1? Скоріше всього його потрібно назвати за його призначенням.

Подякували: leofun01, cheappi3862

9

Re: Імена змінних

Master_Sergius написав:

Ух, навіть така коротка функція якась негарна. Де документація до функції? Що вона робить? Яке призначення того meme1? Скоріше всього його потрібно назвати за його призначенням.

Призначення - тимчасово, для перевірок, зберігати змінну типу meme_t перед передачею за посиланням.