avva: (Default)
[personal profile] avva
(эта запись может быть интересна программистам, знающим C/C++)

Во внутреннем форуме на работе кто-то устроил опрос, который просто не могу не украсть:

[Poll #2078582]

Не смотрите в комментарии перед голосованием, там можно обсуждать правильный ответ.

Подходов несколько.

Date: 2018-02-26 11:54 am (UTC)
From: [identity profile] son-0f-morning.livejournal.com
Извините, что не ответил сразу. С планшета был "не формат".

Ваш подход "один из" (кроме наивных "забить" и "писать 100% контролируя conversion").
Мне боле-менее известны и опробованы следующие:

1. Ваш -- его минус многословность (паразитный синтаксис), за которым начинает теряться семантика.
2. Определить "домены" для работы с типами и работать в этих доменах, переопределив операции. На бумаге хорошо, на практике -- реализация спрятана слишком глубоко. Быстро дописать код зачастую проблематично.
3. Математику проводить в машинных словах (или самом "широком" из возможных доменов) -- пересылка "структуры памяти <=> переменные" содержит оверхэд по коду.

Мне нравится 4й подход.
Мне нравится 3й. О боже мне нужно больше кофе!.

ПС
Ну и в -DUBUG вставлять контроль отсутствия переполнения тоже помогает.
Edited Date: 2018-02-26 11:55 am (UTC)

Re: Подходов несколько.

Date: 2018-02-26 12:23 pm (UTC)
kuzh: (Default)
From: [personal profile] kuzh
1. Конечно, всё хорошо в меру, я не предлагаю это делать везде.
Но (имхо) это лучше, чем надеяться на собственное понимание стандартов, а всего не упомнишь.

Re: Подходов несколько.

Date: 2018-02-26 12:27 pm (UTC)
From: [identity profile] son-0f-morning.livejournal.com
Ага, я мне просто нравится 3й больше чем 1й (я так вас понял, что вы 1й используете).

Оверхэд по коду сравнимый. Но в 3м подходе мы выносим эту чисто техническую семантику отдельно, а в 1м вынуждены писать её прямо в арифметических выражениях.

На мой взгляд у 1го подхода хуже читаемость.

Re: Подходов несколько.

Date: 2018-02-26 12:55 pm (UTC)
kuzh: (Default)
From: [personal profile] kuzh
Ну разумеется, нужно везде, где только можно, использовать int.

January 2026

S M T W T F S
    1 2 3
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 4th, 2026 08:18 pm
Powered by Dreamwidth Studios