lz961, мой. И мне очевидно, что приведенные ТС функции второго примера - это именно принудительное уничтожение глобальных переменных. Вы же рассуждаете о том, как это сломает логику, полагающуюся на глобальные переменные. В огороде бузина.
lz961, чего-то вы мимо набрасываете. Процедура меняет ту же самую переменную, если я правильно понимаю ключевое слово out в параметрах. То, что эта переменная, скорее всего, уже не будет глобальной - так для того и рефакторинг, чтобы данные оставались внутри кода, который с ними работает, а не торчали на всех перекрестках.
palmage, дык рефакторинг же. Разделение кода на участки, минимально пересеченные друг с другом, сбор используемых на этих участках переменных и функций в классы. Рутина и много-много чтения.
Армянское Радио, я дочери, которая любит Шерлока и не любит Питон, пытаюсь объяснить, что работа программиста иногда здорово напоминает работу детектива, и дедукция просто необходима... но ведь в учебе-то этого совершенно не видно, так что мне, похоже, не верят ;)
Swaerok, в реактах были новые приемы. Между неряшливостью и строгостью разница в парадигме.
Нужен принципиально другой подход к коду. Просто чего-то там "понять" недостаточно.
Армянское Радио, да, в современности таким выкидышам инженерной мысли нет места.
Я просто застал советские КБ, где пенсионного возраста зубры впихивали пачки своих дифуров в какой-нибудь Турбо Паскаль именно такими чудовищными простынями... но эти кулибины убивали на это занятие столько времени, сил и строгого соблюдения, что оно выдерживало стремительно наваливающийся технический долг и работало идеально... пока зубр не уходил на пенсию или КБ не разваливалось.
Такую программу мог написать инженер, имеющий колоссальный опыт в своей области - но никогда не писавший программ. Внезапно может оказаться, что все это сделано хоть и дико, но аккуратно и вполне годится для рефакторинга.
Swaerok, никто ж не заставляет. Дело в том, что ТS - не для JS, а для избавления от JS.
Он не отталкивается от JS, поэтому вам непонятны его заморочки. А они отталкиваются от строгости более серьезных языков и более чем естественны для программиста, который не боится влезть под капот и изучить, как оно крутится там, глубже.
Вообще-то п. 4 не совсем очевиден, логично подкрепить его формулой деления данной формулы на любое из p, в которой после сокращения неизбежно появляется дробная часть. Это просто - но не очевидно.
я начинал со статически типизированных языков и тс мне кажется интуитивным
Вот как раз из этого и следует главный совет желающему освоить ТС.
Забыть JS и познакомиться хоть с одним "нормальным" языком.
После этого ТС будет простым и естественным ;)
А без этого, на базе одного жабоскрипта - трудно понять, к чему столько копания в подробностях.