avva: (Default)
[personal profile] avva

Одна из важных побед программиста над собой - победить в себе человека, который склонен написать что-то вроде

#define DOLLAR_SIGN '$'

Date: 2006-10-15 08:09 pm (UTC)
From: [identity profile] jsn.livejournal.com
да, кажется, кто-то рассказывал про биллинг, что ли, в котором параметры тарифных планов были дефайнами, а количество секунд в сутках было заинлайнено во многих местах (как 24 * 60 * 60).

Date: 2006-10-15 08:15 pm (UTC)
From: [identity profile] breqwas.livejournal.com
Ну, писать что-то типа SECONDS_IN_DAY - это однозначно правильнее, чем 86400, а разницы между #define SECONDS_IN_DAY 86400 и #define SECONDS_IN_DAY (24*60*60) уж точно нет.

Date: 2006-10-15 08:24 pm (UTC)
From: [identity profile] anna-tw.livejournal.com
есть разница, если, конечно, не помнить это число наизусть. В случае 24*60*60, никому не придет в голову тратить время на проверку, а не ошибся ли чувак, написавший 86400

Date: 2006-10-16 03:01 am (UTC)
From: [identity profile] pulkin.livejournal.com
Неправда ваша, мне вот 86400 ближе, а про 24*60*60 я несколько секунд думал что это вообще такое.

Date: 2006-10-16 04:36 am (UTC)
From: [identity profile] anna-tw.livejournal.com
и в чем же моя неправда? (хинт - в первом предложении "неправды" есть if :))

Date: 2006-10-16 10:24 am (UTC)
From: [identity profile] pulkin.livejournal.com
Уговорили, ваша правда, мое исключение подтвердило правило :-)

Date: 2006-10-15 09:21 pm (UTC)
From: [identity profile] jsn.livejournal.com
заинлайнено == много мест типа if (seconds_since >= 24 * 60 * 60).

Date: 2006-10-15 09:24 pm (UTC)
From: [identity profile] breqwas.livejournal.com
Эээ... А скобки в дейфайне поставить? Стандартная же ситуация.

Date: 2006-10-15 11:02 pm (UTC)
From: [identity profile] jsn.livejournal.com
(три коммента на объяснение одного слова -- многовато)

где Вы в приведённом куске кода, конкретно, видите define?

Date: 2006-10-15 09:40 pm (UTC)
From: [identity profile] caseq.livejournal.com
Лично я не вижу в этом ничего страшного, (24 * 60 * 60) читается не менее self-descirptive чем SECONDS_IN_DAY. Другое дело, что возникают проблемы с портабельностью -- на планетах, где в сутках другое количество секунд.

Date: 2006-10-15 11:04 pm (UTC)
From: [identity profile] jsn.livejournal.com
ээ, ну ты правда хочешь, чтобы я высказался вслух на тему того, что опечатка в пятом из десяти (24 * 60 * 6) [например] не поймается компилятором и т.д.?

(here, i said it. happy now? :)

Date: 2006-10-16 06:05 am (UTC)
From: [identity profile] averros.livejournal.com
Да... проблема с планетами, факт.

Ни одна программа, в которой написано что-то вроде #define SECS_IN_DAY (24*60*60), строго говоря, не подходит для планеты Земля. Просто потому что в стандартной системе исчисления времени на Земле бывают дни, в которых 86401 секунда:

http://en.wikipedia.org/wiki/Leap_seconds

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 30th, 2025 02:11 pm
Powered by Dreamwidth Studios