Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет norvog ([info]norvog)
@ 2010-02-01 03:33:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Посылаю луч ненависти!!!
Откровенно заебал говнокод!!!


Бля!!! Проект написан на сях. Ну какого у трех четвертей функций нет аргументов?!
Не-е-е-е, мы будем входные параметры передавать глобальными переменными... И ладно бы еще значения им присваивались непосредственно перед вызовом функции. Не-е-ет. Значения им мы присвоим страницы на две выше.

Сцуко!!!! Человек может писать на любом языке - все равно напишет программу на ассемблере!!!

Это надо уметь!!! от девайса приходит ответ вида "_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


(Читать комментарии)

Добавить комментарий:

Как:
(комментарий будет скрыт)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Имя пользователя:
Пароль:
Тема:
HTML нельзя использовать в теме сообщения
Сообщение: