Cheng & RaviStray
RaviStray RaviStray
Привет, Ченг, ты когда-нибудь задумывался, а не написать ли сценарий фильма в коде, где каждая сцена – это функция, а весь сюжет – главный алгоритм?
Cheng Cheng
Конечно, это как интерактивная книга, где каждая сцена – это функция, переменные отображают чувства персонажей, а основной поворот сюжета – это главный цикл. Единственная ошибка, которую нужно исправить, – это когда герой забывает вернуть возлюбленную к кульминации.
RaviStray RaviStray
Звучит как сценарий, где сердце забыли вернуть – как цикл, который бесконечен, если герой не помнит, что любовную линию нужно подвести к финалу.
Cheng Cheng
Именно, настоящая бесконечная петля. Может, герою стоит поймать любовь в блоке исключений, а потом уже, наконец, вернуться к хеппи-энду. Немного try-catch может спасти сюжет от обвала.
RaviStray RaviStray
Может, герой просто выкинет исключение, и история наконец-то скомпилируется, но вот интересно, запустится ли вообще код, если любовь так и останется незамеченной.
Cheng Cheng
Будешь всегда получать ошибку, если любовь не будет поймана – это как обращение к необъявленной переменной. Если у цикла нет страховки, программа просто зациклится навсегда. Тебе нужен предикат или перехватчик, чтобы вернуть любовь и завершить основную функцию.
RaviStray RaviStray
Ладно, guard clause – это как пауза в сценарии, понимаешь? Чтобы герой не запутался в коде. А не поставишь – зациклишься намертво, и это та трагедия, которую уже не исправишь.
Cheng Cheng
Пауза с драматизмом – отличный защитный механизм, только не дай главному герою уйти в бесконечный поиск. Иначе получится трагичный фильм про код, который так и не дойдёт до титров.