Найти в Дзене

Программирование и костыли

Костыли в программировании
Костыли в программировании

Вот такой картинкой можно легко объяснить, что такое костыли в программировании! Это когда код должен был бы работать, но нет - есть нюансы, исключения, т.е. некие случаи, которые нужно немного допиливать - подгонять под ситуацию.

Так недавно и у меня случилось с кодом на Python в программировании торгового робота.

Я использовал библиотеки BackTraderQuik, QuikPy и выяснил, что у нормальных брокеров Код Клиента соответствует Номеру Терминала Quik, и код работает без нареканий.

Но для небольшого реального торгового счета использовал брокера Финам - и оказалось, что у них не так! У них Код Клиента отличается от Номера Терминала Quik!!! И этот код не может одновременно 1) получать информацию о состоянии брокерского счета (сколько денег осталось, какие позиции куплены) и 2) осуществлять торговую сделку - выставлять заявку.

Первое, что я сделал - задебажил код и нашел место, где требуется поправить один параметр. Ввел Код Терминала - и готово! )))
Но это изменение создало костыль к коде - это очень не феншуйно)))

Поэтому я связался с автором библиотек BackTraderQuik, QuikPy и предложил сделать это небольшое изменение (вот предложение на изменение https://github.com/cia76/BackTraderQuik/issues/3), для того чтобы и на особенных брокерах код стал работать.

Само изменение, которое делает код более универсальным можно посмотреть здесь https://github.com/WISEPLAT/BackTraderQuik/commit/76e3d195ae42251ac0a435690b8ec37fb85f20fc

Старайтесь не делать костыли при программировании, но если все же их не избежать - такое часто случается - то документируйте и хорошо описывайте почему вам пришлось сделать такой костыль в вашем коде.

Если вам нравится такой контент, то подписывайтесь на канал, и в комментариях можете задавать вопросы.

Хорошего Вам Дня! Спасибо! 😎👍