avva: (Default)
[personal profile] avva
(будет интересно лишь программистам и сочувствующим)

Код из Webkit2, нового интерфейса к Webkit, который пишут в Apple:

bool m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage;


P.S. Ну и, соответственно, из Connection.cpp:
void Connection::setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage(bool flag)
{
    ASSERT(!m_isConnected);
    m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage = flag;
}

Date: 2011-06-13 01:15 pm (UTC)
From: [identity profile] alexey blinov (from livejournal.com)
Ну а что, самодокументирующийся код, все правильно :-)

Date: 2011-06-13 01:16 pm (UTC)
From: [identity profile] alhimik.livejournal.com
Это у них по инерции с Objective-C, где нет namespaces и все так выглядит.

Date: 2011-06-13 02:24 pm (UTC)
From: [identity profile] egorfine.livejournal.com
+1. "Там так принято" и там это выглядит совершенно норм.

[:||||||:]

Date: 2011-06-13 01:29 pm (UTC)
From: [identity profile] wildernesscat.livejournal.com
באג בדיזיין - זין בדיבאג

Re: [:||||||:]

Date: 2011-06-16 12:39 am (UTC)
From: [identity profile] anatoly borodin (from livejournal.com)
Отлично! Надо взять на вооружение.

Date: 2011-06-13 01:45 pm (UTC)
From: [identity profile] deadkittten.livejournal.com
А потом, в процессе очередного апдейта или багфикса семантика функции слегка меняется. И вот тут наступает истинное счастье для читающих код! :)

Date: 2011-06-13 02:11 pm (UTC)
From: (Anonymous)
А почему она от этого должна поменяться? Название описывает интерфейс, а не реализацию.

Date: 2011-06-13 02:22 pm (UTC)
From: [identity profile] cmm.livejournal.com
ну вот семантика реализации и поменяется, ага.
хотя главный адъ, пожалуй, не в этом.

Date: 2011-06-13 04:42 pm (UTC)
From: [identity profile] gdy.livejournal.com
Какой-то больно низкоуровневый интерфейс ) Название именно что описывает реализацию решения какой-то проблемы.

К.О.

Date: 2011-06-13 02:25 pm (UTC)
From: [identity profile] meshko.livejournal.com
Нормально, по-моему.
И потом, ведь это написал человек, которого нанял человек, которого, возможно, нанял сам Джобс!

Date: 2011-06-13 02:35 pm (UTC)
From: [identity profile] vitaly-il.livejournal.com
почему же только программистам?!
такой код будет наверняка понятен всем :-)

Date: 2011-06-13 02:56 pm (UTC)
From: [identity profile] huzhepidarasa.livejournal.com
Я щетаю это неправильно. Надо так:
void Connection::setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage
  (bool setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessageFlag)
{
 ASSERT(!m_isConnected);
 onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage = 
  setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessageFlag;
}

А то можно вдруг и не разобраться, что там за флаг такой.

Жалко, что скобки нельзя в имя переменной вставить. Я на втором when перестал понимать, что когда происходит. OnlySendMessagesAsDispatch When (WaitingForSyncReply When (ProcessingSuchAMessage)), или же (OnlySendMessagesAsDispatch When (WaitingForSyncReply)) When (ProcessingSuchAMessage)? Что это за SuchAMessage такой — SyncReplyMessage (если SyncReply это Message) или MessageSentAsReply или еще что-то — я боюсь спрашивать, а то подумают, что я лох какой-то непонятливый (это, конечно, правда, но признаваться не хочется).

Date: 2011-06-13 04:51 pm (UTC)
From: [identity profile] salas.livejournal.com
Жалко, что скобки нельзя в имя переменной вставить.
Пора кому-нибудь стандартизировать кодирование символов номером. Браузеры уже научились показывать эту гадость пользователю как исходные символы — IDE тоже научатся. Потом можно ещё добавить сворачивание скобок при отображении.

Date: 2011-06-14 10:07 pm (UTC)
stas: (Don't panic!)
From: [personal profile] stas
Я думаю, правильно будет ещё заменить bool на onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessageValueType или что-то вроде того. А то вдруг понадобится сделать его не bool?

Date: 2011-06-13 03:47 pm (UTC)
From: [identity profile] http://users.livejournal.com/zubr_/
setOSMsgADpWWForSyncRepWPSMsg - лучше?

Date: 2011-06-13 03:51 pm (UTC)
From: [identity profile] igorlord.livejournal.com
That's a bit verbose, and I would prefer the developer to spend some time thinking about a shorter name.

But sure is better that "m_smad" (for "send messages as dispatch") on so many levels!

Date: 2011-06-13 04:27 pm (UTC)
From: [identity profile] creaturen2.livejournal.com
Боже, да там все такое!

windowsToReceiveSentMessagesWhileWaitingForSyncReply
willProcessMessageOnClientRunLoop
setShouldCloseConnectionOnMachExceptions
setShouldCloseConnectionOnProcessTermination
setShouldExitOnSyncMessageSendFailure
setDidCloseOnConnectionWorkQueueCallback

По-моему, совершенно не читабельно.

Date: 2011-06-13 05:56 pm (UTC)
From: [identity profile] huzhepidarasa.livejournal.com
Имена типа setShouldDoFooOnBar слегка навевают пичаль. Почему бы не сказать doFooOnBar?

Date: 2011-06-13 06:13 pm (UTC)
From: [identity profile] rezkiy.livejournal.com
потому что произойдет бар, а потом выключат питание, и сделать foo нифига не успеешь, как бы не старался.

Date: 2011-06-13 07:02 pm (UTC)
From: [identity profile] huzhepidarasa.livejournal.com
shouldHaveBeenDoingFooOnBarButThePowerHasSurgedAndItsTooLateNowSoJustRelaxUndWatchenDasBlinkenlichten(true);

Date: 2011-06-13 04:37 pm (UTC)
From: [identity profile] aismailov.livejournal.com
Мнемонический идентификатор должнен обладать смысловым и уникальным именем, например - УникальныйМнемоническийИдентификаторНомер1 :))

А вообще конечно отлично :)

Date: 2011-06-13 04:41 pm (UTC)
From: [identity profile] smilga.livejournal.com
Самый ужас в том, что это 106 знаков в ширину (я считаю).

Date: 2011-06-13 05:09 pm (UTC)
a_p: (Default)
From: [personal profile] a_p
Скоро кодстайлгайдлайны будут содержать правила индентации при написании имён переменных.

У Марка Твена есть про это рассказ - он там издевается над немецкой манерой словообразования через конкатенацию и приводит целый рассказ из одного слова.

Date: 2011-06-13 05:40 pm (UTC)
From: (Anonymous)
Это Hottentottenstottertrottelmutterattentäterlattengitterwetterkotterbeutelratte, типа?

Date: 2011-06-13 05:41 pm (UTC)
From: [identity profile] liveuser.livejournal.com
"Пятидесятирублируй".

Date: 2011-06-13 06:36 pm (UTC)
From: [identity profile] fandaal.livejournal.com
и после этого будут врать, что карта не равна территории!

Date: 2011-06-13 08:23 pm (UTC)
nine_k: A stream of colors expanding from brain (Default)
From: [personal profile] nine_k
Кто-то недавно мечтал, что вот бы гугл переписпл webkit с ужасного C++ и явных threads на Go и goroutines. Кажется, есть ещё одна причина :)

Date: 2011-06-14 01:44 am (UTC)
From: [identity profile] mulambda.livejournal.com
А что, на Go нельзя назвать переменную m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage?

Date: 2011-06-14 08:24 am (UTC)
nine_k: A stream of colors expanding from brain (Default)
From: [personal profile] nine_k
Можно. Но есть некоторые шансы, что этого удастся избежать.

Date: 2011-06-14 10:32 am (UTC)
From: [identity profile] mulambda.livejournal.com
Есть мнение, что от языка тут мало что зависит. И даже от наличия ко-рутин.

Есть также мнение, что разбираемый случай - это не самый страшный программистский грех, и уж точно не повод все переписывать в проекте с 10-летней историей, огромным количеством пользователей, и весьма высокой инженерной культурой.

Date: 2011-06-14 11:23 am (UTC)
nine_k: A stream of colors expanding from brain (Default)
From: [personal profile] nine_k
Думаю, никто не воспринимает идею переписать webkit всерьёз.

Уж если писать с нуля, то и часть концепций надо поменять, и cruft удалить, и, в первую очередь, иметь серьёзную причину за такое браться.

Date: 2011-06-14 06:42 pm (UTC)
From: [identity profile] mulambda.livejournal.com
Дык что-то не понял я, а о чем первый Ваш коммент был? :)

Date: 2011-06-14 07:50 pm (UTC)
nine_k: A stream of colors expanding from brain (Default)
From: [personal profile] nine_k
Ключевое слово там "мечтал". И смайлик в конце. В следующиф раз поставлю побольше.

Что, в общем, не отменяет мысли, что Go хорошо бы подошёл для такого проекта, правда, нынешняя его реализация для этого вряд ли годна.

Date: 2011-06-14 08:54 am (UTC)
From: [identity profile] ander13.livejournal.com
не вижу ничего плохого в C++ и goroutines, учитьівая что лучшие продуктьі написаньі (и будут писаться на C++)

Date: 2011-06-14 06:01 am (UTC)
From: [identity profile] migmit.livejournal.com
http://bit.ly/kn6vqp

VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther

Date: 2011-06-14 08:53 am (UTC)
From: [identity profile] ander13.livejournal.com
Результат прямого исполнения требований code design или неигнорирования их.

Date: 2011-06-14 10:02 pm (UTC)
stas: (Default)
From: [personal profile] stas
Я думаю, в конце концов дойдёт до того, что переменную надо будет только обьявить, и из её имени уже сразу станет ясно, какой код для неё нужен, и компилятор сам всё сгенерирует. Правда, у многих есть лимит на размер имени, его придётся увеличить.

Date: 2011-06-15 01:47 am (UTC)
From: [identity profile] katja-i.livejournal.com
Что-то не нашла ссылок в коде на сие чудо. Куда оно там далее то уходит?

Date: 2011-06-15 01:50 am (UTC)
From: [identity profile] katja-i.livejournal.com
похоже что в никуда. Вещь в себе

hi

Date: 2012-02-02 03:09 am (UTC)
From: (Anonymous)
http://goo.gl/ueXPJ

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. 29th, 2025 04:19 am
Powered by Dreamwidth Studios