Re[31]: Собеседования в Яндекс++
От: smeeld  
Дата: 04.06.19 20:32
Оценка: :)
Здравствуйте, so5team, Вы писали:


S>Глаза разуйте: у вас нет ничего после else. Ваш while имеет вот такой вид:


Это вы глаза разуйте. Это что? Пушкин?

     node_descp->set_current_storage_chunk(node_descp->get_current_storage_chunk());
     node_descp->set_shared_segment(journal_store(node_descp->get_current_storage_chunk()).first_descriptor_shared());



S>Было очевидно, что вы не пробовали. Пропробовали бы, то увидели бы, что ваш основной код внутри первого while сократился бы раза в 1.5. Что сделало бы его понятнее.


Ещё раз гляньте выше. Там лямбды вообще не к месту, и только синтаксического хлама добавят.

S>Давайте сперва разберемся с тем, понимаете ли вы вообще свой код.


Я то понимаю, боюсь что Вы всё никак не допрёте.

S>Если у вас get_current_storage_chunk() не является идемпотентной операцией, т.е. get_current_storage_chunk() каждый раз возвращает разное значение


Между вызовом set, get возвращает одно и то же значение, после-другое. Это очевидно, Карл!

S>А если же у вас get идемпотентен, то вызывать set_current_storage_chunk для того, чтобы еще раз назначить значение для current_storage_chunk... Ну как-то странно это.


set вызывается один раз. Один раз, Карл. Всё остальное время мы получаем значение через get. Зачем через get? Потому-что set могут вызвать другие, это очевидно же.

>S В общем, куда не ткни, запашок какой-то подозрительный начинает доноситься.


В общем, это Вы не въезжаете в достаточно очевидные вещи, которые там расписаны чёрным по белому, ясней некуда. Но до Вас это всё никак не доходит. Может это пованивает не от кода. а от Ваших умственных способностей?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.