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