amarao_san

Category:

Банальность, которая мудрость

Типизация помогает защищаться от багов, только если её используешь. Как только появляется нетипизированное нечто (например, один и тот же int, в зависимости от контекста, либо туда, либо сюда) — типизация отпадает и остаёшься с тем же питоноперлом. Не прикрыл тестом — баг.

В любом языке программирования можно мгновенно развести нетипизированность. Например, (я таки снова засел за деревья) у меня в коде выбор направления vertical/horizontal match'ем. А дальше противположное направление, если надо, передаётся рекурсивно. (чтобы vertical/horizontal чередовались). Разумеется, пока я писал, весь код в багах. То после вертикального опять вертикальное, то в горизонтальном вертикально порезал на интервалы и т.д.

Как правильно? Чтобы Vertical/Horizontal было типом. Чтобы «горизонтальная» функция не принимала вертикальные данные и наборот.

Но всё это требует писать и писать типы. А если не писать — ну вот у тебя и инт и баги вокруг него.


Error

default userpic

Your IP address will be recorded 

When you submit the form an invisible reCAPTCHA check will be performed.
You must follow the Privacy Policy and Google Terms of use.