Блог пользователя muranovtim29_06_2005

Автор muranovtim29_06_2005, история, 2 месяца назад, По-русски

Попался прикольный баг в музыкальном редакторе.

Ноты в программе называются по стандартной буквенной нотации — a, b, c, d, des, cis и тд. Мой алгоритм энгармонической замены (замены на равную по звучанию, но другую по написанию ноту) основан на поиске окончания is, es или a. И винмание вопрос, как быть с нотой es (или eses). Ответ — никак. Пришлось отдельно для этих двух исключений прописывать обработку.

Мне это напомнило баг, в котором сокращенное наименование Норвегии — "no" интерпретируется языком разметки как "false"

Полный текст и комментарии »

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

Автор muranovtim29_06_2005, история, 6 месяцев назад, По-русски

Отлаживаю значит методы и натыкаюсь на очень алгоритмически запутанный метод, который должен возвращать количество знаков в музыкальной тональности. Сплошная стена из циклов и switch/case-ов (даже goto был).

Проанализировав метод, я замечаю, что он по сути возвращает какую-то часть списка знаков.

Попробовал заменить стену алгоритмов на генератор всех возможных значений + обрезающий алгоритм и, о чудо, всё заработало. В итоге сократил код с 100500 строк до 23.

Почаще бы смотреть на функции со стороны. Как правило, они проще чем кажутся

Полный текст и комментарии »

  • Проголосовать: нравится
  • -1
  • Проголосовать: не нравится

Автор muranovtim29_06_2005, история, 6 месяцев назад, По-русски

Пишу музыкальную библиотеку.

Неделю назад столкнулся с необъяснимым поведением одной структуры — не менялись поля, когда нужно, менялись, когда не нужно и тд. Неделю голову и психику ломал. Проблема оказалась в том, что я так увлекся геттерами и сеттерами, что забыл изменить конструктор копирования.

Недавно столкнулся с похожим магическим поведением другого класса после добавления нового поля. Снова двухдневное мучение. И опять проблема оказалась в конструкторе копирования.

Мораль сей басни такова: не бывает магического поведения, бывает хороническая забывчивость

Полный текст и комментарии »

  • Проголосовать: нравится
  • +5
  • Проголосовать: не нравится

Автор muranovtim29_06_2005, история, 6 месяцев назад, По-русски

Нашел весьма интересую и понятную карту изучения C++ от Junoir до Senior.

Может кому-то пригодится :)

Полный текст и комментарии »

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится