Откровенно заебал говнокод!!!
Бля!!! Проект написан на сях. Ну какого у трех четвертей функций нет аргументов?!
Не-е-е-е, мы будем входные параметры передавать глобальными переменными... И ладно бы еще значения им присваивались непосредственно перед вызовом функции. Не-е-ет. Значения им мы присвоим страницы на две выше.
Сцуко!!!! Человек может писать на любом языке - все равно напишет программу на ассемблере!!!
Это надо уметь!!! от девайса приходит ответ вида "_1380_0108_0000_0167_0590_0900_0910"
Это как-бы шестнадцатеричные байты состояния устройства. Передаваемые в формате ASCII.
Расшифровка сего лежит в специальном файлике device_defs.h
Вроде все логично.
Ладно, что сначала дефайнятся младшие биты, а потом старшие. Т.е. от 0х01 к 0х80. Хотя удобнее было бы наоборот со старших начинать.
Но в этом долбанном device_defs.h порядок байт перепутан!!! И хрен это с первого взгляда определишь!!!
Для понимания надо прочитать 80 страничную простыню на 90 Кбайт где в самом конце эта вот неебическая шифровка подготавливается к отправке.
Бля и эти очевидные имена файлов проекта! Ну это же очевидно, что в файле device.c лежат объявления функций.
А файл device_data.c содержит объявления всех переменных этого проекта!!! Не базу данных, не таблицу какую, а просто имена переменных. Всех... Ладно хоть с комментариями...
Но почему эту поебень не назвать device_variables.c - мне не понять.
И, бля, ни одной локальной переменной!!! Даже сраная буферная переменная temp_char, используемая в приеме сообщения по UART - ГЛОБАЛЬНАЯ!!!
Хотя прием этого сообщения реализован через функцию. Ну хрен ли в ней временную переменную не завести спрашивается?!
А имена?!
Бля!!! Ну почему нельзя макросы которые что-то делают называть по-английски так чтобы было понятно, что это?!
DEVICE_OFF - это что? выключить устройство или устройство выключено?!
Почему нельзя написать TURN_DEVICE_OFF и DEVICE_IS_OFF?
И нахуя использовать "goto cycle_end" вместо "break" мне не понять!!! Надежнее наверное :/
И это я чувствую только часть радостей...
Я это к чему, собственно... Наткнулся тут на потрясающий сайт про то как писать unmaintainable software... Похоже мои коллеги во всю уже руководствуются советами :))
Кому программирование близко - трэш и угар!!!
http://mindprod.com/jgloss/unmaindesign.html(
Comments |
Comment on this)