Feb. 8th, 2024

amarao: (Default)
(почему я про это пишу? Потому что я уже больше месяца занимаюсь самым тяжёлым рефакторингом, который у меня когда-либо был, по кодовой базе, которую я не могу держать в голове).

Ещё одна интересная цель для рефакторинга: уменьшать что-то. Чаще всего, люди хотят уменьшить что? Когнитивную нагрузку.

Что такое когнитивная нагрузка? Это когда приходится много помнить. Одно из решений в такой ситуации, это "квадратно-гнездовой подход", когда конкретное место в коде, пусть и простое, и даже проще чем соседи, делается сложнее ради того, чтобы быть одинаковым. Да, в конкретном месте всё просто и состоит их 5 строк вместо 20, но это ДРУГИЕ 5 строк, а рядом 199 раз по 20 одинаковых строк (однинаковой структуры), так что эти 5 простых строк, на самом деле не "5 строк вместо 20", а это "выкинуть 20-строчный паттерн из головы и разбираться с *особым случаем* из 5 новых строк". В такой сиутации рефакторинг может выглядеть странно: было просто и на 5 строк, а стало сложно и на 20, но истинная ценность в том, что раньше было 199 x один, плюс второй, а стало 200 x один, и это значительно проще.

Понять важность этого может только человек, который видит эти 199. Работая над локальным кусочком есть огромное желание срезать эти лишние хвосты и сделать проще. Баланс между локальной простотой и глобальной сложностью - это вечная драма, у которой нет простого ответа...
amarao: (Default)
Одно из направлений боевой философии (т.е. самой настоящей философии на фронтире человеческого разума, но с запретом на "воду" и аппеляции к плохо определённым фантазиям автора) является разработка языков программирования.

Ни что так сильно не влияет на объяснение нашего понимания знания, знания о знании, причинно-следственной связи, логике, как язык программирования. Модель, которую представляет язык программирования, это же философия чистой воды. Все эти "передача по значению" против "передачи по ссылке", r-value l-value, placement expression, это же чистой воды философия, причём высочайшего порядка, обладающая практической реализацией (доказывающей непротиворечивость по факту реализации).

Profile

amarao: (Default)
amarao

August 2025

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 14th, 2025 09:00 am
Powered by Dreamwidth Studios