OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 07:53

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Понедельник, 09 Август, 2010 12:52 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Про пример...

1) Полностью согласен с Alexey, что понимаемость данного примера заключается прежде всего в осознании куды какой бит суется, зачем, и какая в этом есть система - чтобы в голове уложилось. После этого - да какая разница на каком языке. Разница - в какие-то проценты, по сравнению с затратами на общее понимание...

2) Инженер отличается от того, кого называют "молодыми гениями", тем, что может работать профессинально и в том случае, когда принятое "направление" лично ему не представляется оптимальным. Правильный типовой сценарий работы (можно считать - цеховое правило): группа ведущих специалистов обменивается мнениями о таковом направлении, а решение принимает один из них, иначе называемый руководителем темы/работы/проекта. И народ начинает работать в таковом направлении.

3) Далее, работа инженера отличается от работы "радиолюбителя" тем, что он обязан достигать некую комплексную цель (это - почти главное отличие). Не только "чтобы работало", но и надежность, технологичность, себестоимость, и т.п.. Вот Илья произнес нечто похожее для программного инжениринга. Программист (в оригинале: тот кто умеет Программировать) должен не только сотворить работающий код, но и соответствующим образом его оформить. По большому счету - ОН ПРАВ. Черт сидит в деталях.
Поэтому мой ответ про Base64-код (ниже) будет "условным"

4) ЕСЛИ моя задача стоит: сделать а) максимально эффективный код, чтобы он был б) максимально понятен коллегам/последователям, ТОГДА бы (и никаких иных ограничения на меня не наложено!!!) я поступил следующим образом:
  1. Определился бы с интерфейсом. Оптимальный - немножечко зависит от среды исполнения, от полной задачи, и т.п.. Т.е., не за мной окончательное решение
  2. НАРИСОВАЛ бы последовательность битов, сгруппированную по входным байтам (т.е. по 8 бит), с указанием, что старший слева. Ниже нарисовал бы 6-битные группировки так, чтобы было максимально очевидно как они получены из входной последовательности. Ну и придумал бы чего, как макимально доступно нарисовать обработку "хвостика"
  3. Код написал бы на АСМ-е. По моему опыту, ЯВУ так работают с битами, что без слез на это смотреть нельзя. Со стандартными типами данных - еще можно, стиснув зубы. А вот с битами...

И все. Вот такой подход, мне представляется, и называется - Инженерным. В противоположность составлению кода по некоторым "шаблонам".
Те самые детали в которых черт и сидит....


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 09 Август, 2010 15:55 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Berserker писал(а):
Публике и так всё ясно. А вот вам приходится объяснять.
Вы сначала в своей голове порядок научитесь наводить. Если научитесь -- я сам первый в очередь встану у вас поучиться. Если.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 09 Август, 2010 16:42 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Вопросы оптимизации, кроссплатформенности и пр. вынесены: viewtopic.php?f=27&t=2772&start=0


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB