- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
PrefixAllocator::PrefixAllocator(
const std::string& myNodeName,
const KvStoreLocalCmdUrl& kvStoreLocalCmdUrl,
const KvStoreLocalPubUrl& kvStoreLocalPubUrl,
const PrefixManagerLocalCmdUrl& prefixManagerLocalCmdUrl,
const MonitorSubmitUrl& monitorSubmitUrl,
const AllocPrefixMarker& allocPrefixMarker,
const folly::Optional<folly::CIDRNetwork> seedPrefix,
uint32_t allocPrefixLen,
bool setLoopbackAddress,
bool overrideGlobalAddress,
const std::string& loopbackIfaceName,
std::chrono::milliseconds syncInterval,
PersistentStoreUrl const& configStoreUrl,
fbzmq::Context& zmqContext)
: myNodeName_(myNodeName),
allocPrefixMarker_(allocPrefixMarker),
seedPrefix_(seedPrefix),
allocPrefixLen_(allocPrefixLen),
setLoopbackAddress_(setLoopbackAddress),
overrideGlobalAddress_(overrideGlobalAddress),
loopbackIfaceName_(loopbackIfaceName),
syncInterval_(syncInterval),
configStoreClient_(configStoreUrl, zmqContext),
zmqMonitorClient_(zmqContext, monitorSubmitUrl) {
Фейсбук выложил какую-то хуйню https://github.com/facebook/openr/blob/master/openr/allocators/PrefixAllocator.cpp#L61
g0cTb 16.11.2017 22:28 # +1
SemaReal 16.11.2017 23:38 # +3
d_fomenok 17.11.2017 12:53 # 0
# привет, программист под Win32API
Ну и покажи, где в Win32API сорок аргументов
Steve_Brown 17.11.2017 12:58 # 0
Промолвил Носорог:
Что лучше - сорок пяток
Или пяток сорок?
Dummy00001 17.11.2017 16:01 # 0
и потом есть функции которые принимают на вход специальные структурки с тучей полей. да, за аргументы функции это не считается. но писанины - и с этим связаных ошибок - не меньше.
SemaReal 17.11.2017 17:28 # 0
Хорошо что студия умеет подсказывать их поля, особенно с Resharperом
Dummy00001 17.11.2017 18:29 # 0
толку от этого мало. т.к. по крайней мере у меня самая частая ошибка была что поле забыл проинициализировать.
> Если POSIX любит 20 функций с двумя аргументами, то Win32API -- одну с двадцатью, ну и структуры адские.
POSIX любит простые интерфейсы для простых вещей, и сложные интерфейсы для сложных. не всегда получается, но преимущественно ок.
WinAPI делался изначально VMSниками, у которых просто сложившийся стиль был убогий: они пытались все по полочкам раскладывать с одной стороны, а с другой стороны в ж все абстрагировать. VMS уже умерла раз пять, но наследие все еще живет.
ЗЫ https://en.wikipedia.org/wiki/OpenVMS - педрилы начали делать порт на Итаник - как раз когда интел его убил. (( самое близкое к доке что смог наколупать - https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c04621400 ))
SemaReal 17.11.2017 19:21 # 0
Или забыл сделать им memset в 0, да?
НУ что поделать, в си нету RAII
>>, а с другой стороны в ж все абстрагировать.
Вот да!
В винде очень много НЕНУЖНЫХ абстракций.
Даже Win32API должен был быть изначально лишь одним из многих API поверх native, но теперь другие API умерли, так что не понятно зафига есть NtCreateFile и CreateFile
Если бы Гейтс хайранул не VMSника а юниксоида для WinNT в 1990 году, мир мог бы быть куда более приятным местом...
d_fomenok 17.11.2017 19:47 # 0
И что же ты приведёшь в убийственный пример?
SemaReal 17.11.2017 19:51 # 0
d_fomenok 18.11.2017 12:46 # 0
Чем они тебе мешают?
SemaReal 18.11.2017 21:36 # +3
Antervis 18.11.2017 10:32 # 0
Dummy00001 17.11.2017 21:13 # 0
не все дефолты нули.
CaptainPlastid 22.02.2018 21:45 # 0
Простите, пишу высокоуровневый код с частичкой этого говна, и это хуже легаси, который можно и переписать...
SemaReal 22.02.2018 21:47 # +3
MFC:)))))))
CaptainPlastid 23.02.2018 19:34 # +1
И правда и подъеб одновременно)
ATL)))
inho 23.02.2018 19:45 # 0
roman-kashitsyn 23.02.2018 19:48 # +6
3.14159265 23.02.2018 21:27 # 0
Придумали что? Сам акроним раии?
Жаль здесь Тараса нет, он бы наверняка пояснил за Ada controlled types.
Soul_re@ver 23.02.2018 21:30 # 0
RAII. Deal with it.
Америку тоже не Америго Веспуччи первым открыл, но...
3.14159265 23.02.2018 21:34 # +1
Ну правильно, только уродский акроним РАЙИ.
Лишённые эстетики крестухи даже красиво не смогли обозвать. См. KISS, DRY.
Antervis 18.11.2017 10:34 # 0
Студия вообще хорошо справляется со своей задачей - быть полным комплектом отличных столовых приборов для поедания говна
SemaReal 18.11.2017 21:36 # +1
CaptainPlastid 22.02.2018 21:48 # 0
SemaReal 22.02.2018 21:53 # 0
на линуксах можно clion попробоваь
g0_1494089131830 22.02.2018 22:23 # −1
CaptainPlastid 23.02.2018 19:35 # 0