Приветствую!
Добавились новые макросы — %%builddate%% %%buildtime%% %%qtversion%%
Поменялась логика вычисления ревизий и даты-времени. Нужно писать скрипт, который будет принимать 2 параметра — каталог с корнем проекта и временный каталог, этим скриптом заменить в файле version.h.in _ххх_ на соответствующие значения и сохранить файл как version.h
Это должен делать cmake, и для линукса это все уже работает. Делайте по примеру.
Внимание, на текущий момент сборка под винду просто свалится, так как не обнаружит файла version.h
, что это неверно, но эти изменения до сих пор не отменены.
Или еще пример, вынесение кода в макрос _check_wrong_date_field — нарушение codestyle, где все макросы записываются прописными буквами, (тему про то, что макросы зло пропустим), но больше всего удивляет комментарий:
// Сий дефайн полезен зело... Проверка на вилидность даты множества полей#define _check_wrong_date_field(_field, _fieldName, _val) \
В то время, когда явным образом принято комментировать в формате QT-Doxygen.
ИТОГО: я предлагаю тебе создать точный план действий (например, в формате тикетов) и в точности ему следовать, чтобы было хотя бы понятно что за какой целью менялось и кому постить баги. Потому как на текущий момент, внесено множество изменений, поломана сборка и не решена ни одна задача.
AB> ИТОГО: я предлагаю тебе создать точный план действий (например, в формате тикетов) и в точности ему следовать, чтобы было хотя бы понятно что за какой целью менялось и кому постить баги. Потому как на текущий момент, внесено множество изменений, поломана сборка и не решена ни одна задача.
Здравствуйте, Anton Batenev, Вы писали:
S>> Внимание, на текущий момент сборка под винду просто свалится, так как не обнаружит файла version.h AB>За ломающие изменения в транке обычно дают желтую карточку (особенно когда появился человек, которому интересна работа под windows).
AB>ИТОГО: я предлагаю тебе создать точный план действий (например, в формате тикетов) и в точности ему следовать, чтобы было хотя бы понятно что за какой целью менялось и кому постить баги. Потому как на текущий момент, внесено множество изменений, поломана сборка и не решена ни одна задача.
Hello, Anton Batenev, you write:
AB> Ну такой цели точно не было Указать на недочеты, попытаться внести порядок.
Как раз вот порядок и навожу пока что...
Дай попрограммировать, пока запал не прошел. Пройдет запал — один фиг на несколько месяцев отвалюсь, но зато будет куча полезного.
Hello, Anton Batenev, you write:
AB> За ломающие изменения в транке обычно дают желтую карточку (особенно когда появился человек, которому интересна работа под windows).
о0 Перед коммитом я сделал up, все прошло нормально.
AB> Давай посмотрим на твои последние две ревизии: r279 и 282 — в них очень большое количество эквивалентных изменений. Например: AB> // ты меняешь на AB> или AB> // ты меняешь на
Я привожу все это к более удобночитаемому, быстрому и понятному виду.
AB> Какая цель из текущих задач преследовалась подобными правками?
Никакой, тикетами займусь пожже.
AB> Или в r279 ты меняешь: AB> Потом соглашаешься
, что это неверно, но эти изменения до сих пор не отменены.
Они ничего не сломали, следовательно когда все вернется назад — неважно.
AB> Или еще пример, вынесение кода в макрос _check_wrong_date_field — нарушение codestyle, где все макросы записываются прописными буквами
А где его почитать?
AB>, (тему про то, что макросы зло пропустим),
Правильно, ибо они не всегда зло.
AB> но больше всего удивляет комментарий: AB>
AB> // Сий дефайн полезен зело... Проверка на вилидность даты множества полей
AB> #define _check_wrong_date_field(_field, _fieldName, _val) \
AB>
AB> В то время, когда явным образом принято комментировать в формате QT-Doxygen.
...хотя в коде полно обычных комментариев
AB> ИТОГО: я предлагаю тебе создать точный план действий (например, в формате тикетов) и в точности ему следовать, чтобы было хотя бы понятно что за какой целью менялось и кому постить баги. Потому как на текущий момент, внесено множество изменений, поломана сборка и не решена ни одна задача.
План действий: причесать код.
Сейчас я занялся формой настроек — там черт ногу сломит в коде генерации ui. Также претворяю в жизнь пришедшие в голову идеи. Кк примеру уже у каждого сообщения в дереве и в вью появилось по иконке — иконка дня недели и иконка пользователя, разная для каждой роли. Также сейчас я пишу опцию для выбора шрифтов деревьев и редактора. Следом посмотрю что можно сделать с генерацией хтмл сообщения жля отображения в вьювере, там тоже все разбросано мелкими кусочками. Вобщем до тикетов еще добраться надо...
Ни один из maintainer-ов не принял бы патч с подобным объяснением. Тебе ли этого не знать.
S> AB> Какая цель из текущих задач преследовалась подобными правками? S> Никакой, тикетами займусь пожже.
Т.е. ты правишь код без цели?
S> Они ничего не сломали, следовательно когда все вернется назад — неважно.
Неломающие изменения — это лишь минимальное условие коммита. Ты берешься "причесывать" код, но свои же "непричесанные" правки "причесывать" не торопишься.
S> AB> Или еще пример, вынесение кода в макрос _check_wrong_date_field — нарушение codestyle, где все макросы записываются прописными буквами S> А где его почитать?
В исходниках Qt, в файле sysheaders.h, например.
S> AB> В то время, когда явным образом принято комментировать в формате QT-Doxygen. S> ...хотя в коде полно обычных комментариев
Внутри методов, но не в определениях. Сгенерируй документацию — посмотри как это выглядит в реальности.
S> План действий: причесать код.
Это не план. Кому нужно причесать код? Какие характеристики после этого улучшатся? Какие задачи будут решены?
S> Сейчас я занялся формой настроек — там черт ногу сломит в коде генерации ui.
Ты еще не закончил с доклетами — они до сих пор не работают как им полагается, нет возможности их зафиризить для совместимости с предыдущим отображением, нет возможности их отобразить (правая кнопка по тулбару — не очевидно), нет, скажем, некоторых стандартных пресетов, что было бы удобно не тягать их.
S> Также претворяю в жизнь пришедшие в голову идеи.
Перед этим их имеет смысл оформить в виде тикетов — и другим участникам виден прогресс, и есть возможность обсудить раньше, чем будет сделан сизифов труд, есть возможность, что кто-то что-то может взять себе и т.д. и т.п.
S> Вобщем до тикетов еще добраться надо...
С них надо начинать. Создавать тикеты постфактум лишено смысла. Это командная работа, а не одиночная. Тебе никто не мешает сделать форк и творить в одиночку чего душа желает.
Здравствуйте, Sheridan, Вы писали:
S> Дай попрограммировать, пока запал не прошел.
Вот этого я и опасаюсь — люди в запале наворотят дел, а разбирать потом одному — часто бывает проще просто откатить все взад.
S> Пройдет запал — один фиг на несколько месяцев отвалюсь, но зато будет куча полезного.
Вот я и пытаюсь понять что сейчас полезного происходит?
* CMake — полезно;
* Перевод на рунглиш, как минимум, не востребовано и вредит впоследствии;
* Доклеты не доделаны;
* Причесать код — не полезно, т.к. нет четких критериев по которым он "причесывается".
Hello, Anton Batenev, you write:
AB> S> Я привожу все это к более удобночитаемому, быстрому и понятному виду. AB> Удобночитаемому кому? Понятному кому?
Мне, компилятору.
AB> Быстрому с т.з. какого критерия (цифры тестов)?
Я понимаю, что компилятор может оказаться умным и соберет пару десятков присваивания с суммированием строк в один оператор. Я не втыкал так глубоко. Но я ориентируюсь на то что компилятор дурак — и упрощаю задачу.
AB> Ни один из maintainer-ов не принял бы патч с подобным объяснением. Тебе ли этого не знать.
Откуда мне это знать? Я — админ
AB> S> AB> Какая цель из текущих задач преследовалась подобными правками? AB> S> Никакой, тикетами займусь пожже. AB> Т.е. ты правишь код без цели?
Я смотрю в код, смотрю на работу приложения — выбираю что можно сделать и делаю. Сегодня вот утром была цель объиконить дерево сообщений. Потом появилась цель перелопатить диалог настроек.
Я пишу на работе. У меня там интернета нету, чтобы каждую идею в трак писать
AB> S> Они ничего не сломали, следовательно когда все вернется назад — неважно. AB> Неломающие изменения — это лишь минимальное условие коммита. Ты берешься "причесывать" код, но свои же "непричесанные" правки "причесывать" не торопишься.
Да причесал уже.
AB> S> AB> Или еще пример, вынесение кода в макрос _check_wrong_date_field — нарушение codestyle, где все макросы записываются прописными буквами AB> S> А где его почитать? AB> В исходниках Qt, в файле sysheaders.h, например.
Ок, переправлю.
AB> S> AB> В то время, когда явным образом принято комментировать в формате QT-Doxygen. AB> S> ...хотя в коде полно обычных комментариев AB> Внутри методов, но не в определениях. Сгенерируй документацию — посмотри как это выглядит в реальности.
Ок.
AB> S> План действий: причесать код. AB> Это не план. Кому нужно причесать код? Какие характеристики после этого улучшатся? Какие задачи будут решены?
Сравни диалог настроек который был и который есть.
AB> S> Сейчас я занялся формой настроек — там черт ногу сломит в коде генерации ui. AB> Ты еще не закончил с доклетами — они до сих пор не работают как им полагается, нет возможности их зафиризить для совместимости с предыдущим отображением, нет возможности их отобразить (правая кнопка по тулбару — не очевидно), нет, скажем, некоторых стандартных пресетов, что было бы удобно не тягать их.
Тоесть доклеты плохие, потому что они лучше сплиттеров не на два порядка, а всего лишь на один. Интересная точка зрения...
Но я посмотрю что можно сделать с твоей просьбой.
А иконки буду добавлять в тулбары и меню после того как прорвусь сквозь код и пойму чтогде. Добавить — не проблема. Проблема понять где это конкретно написать.
AB> S> Также претворяю в жизнь пришедшие в голову идеи. AB> Перед этим их имеет смысл оформить в виде тикетов — и другим участникам виден прогресс, и есть возможность обсудить раньше, чем будет сделан сизифов труд, есть возможность, что кто-то что-то может взять себе и т.д. и т.п. AB> S> Вобщем до тикетов еще добраться надо... AB> С них надо начинать. Создавать тикеты постфактум лишено смысла. Это командная работа, а не одиночная. Тебе никто не мешает сделать форк и творить в одиночку чего душа желает.
Да нету у меня на работе интернета, нету.
Hello, Anton Batenev, you write:
AB> * Перевод на рунглиш, как минимум, не востребовано и вредит впоследствии;
Зато если вдруг понадобится перевод в какойтотам левой кодировке — то надо просто перевод и написать, а не придумывать что можно сделать.
AB> * Доклеты не доделаны;
эээ... А чего там не доделано? Как минимум они на порядок лучше скроллеров хотябы потом что могут перемещаться и вообще отцепляться. Владельцам нескольких мониторов вообще сказка.
AB> * Причесать код — не полезно, т.к. нет четких критериев по которым он "причесывается".
Хотябы в сторону его уменьшения с сохранением функционала.
AB> Что в сухом остатке?
Обновись.
Здравствуйте, Sheridan, Вы писали:
S> AB> * Перевод на рунглиш, как минимум, не востребовано и вредит впоследствии; S> Зато если вдруг понадобится перевод в какойтотам левой кодировке — то надо просто перевод и написать, а не придумывать что можно сделать.
А никто бы и не стал придумывать. Когда бы это понадобилось, то тот человек, которому это было бы надо, сел бы и перевел. Аргумент о том, что все посетители RSDN (а уж программы и подавно) свободно владеют русским ты проигнорировал.
S> AB> * Доклеты не доделаны; S> эээ... А чего там не доделано? Как минимум они на порядок лучше скроллеров хотябы потом что могут перемещаться и вообще отцепляться. Владельцам нескольких мониторов вообще сказка.
Лично мне нужно совсем немного — чтобы layout соответствовал тому, что было. Если я не могу выполнить такой простой задачи, количество мониторов для меня не имеет значения.
S> AB> * Причесать код — не полезно, т.к. нет четких критериев по которым он "причесывается". S> Хотябы в сторону его уменьшения с сохранением функционала.
Зачем? Я понимаю, если стоит задача создания новой функциональности (или исправления старой) и она требует рефакторинга. Рефакторинг ради рефакторинга сродни исправлению пробелов на табы и табов на пробелы.
При этом ты не учитываешь, что некоторый код достаточно хорошо был протестирован (в том числе и временем) и отлажен, а так без разбору его меняя, ты рискуешь получить side-эффекты вроде проблем с кодировками.
S> AB> Что в сухом остатке? S> Обновись.
Обновился. Мне не удобно. По этому тихо сижу в бранче.
Здравствуйте, Sheridan, Вы писали:
S> AB> S> Я привожу все это к более удобночитаемому, быстрому и понятному виду. S> AB> Удобночитаемому кому? Понятному кому? S> Мне, компилятору.
Компилятору пофиг. А о других людях ты не задумывался?
S> AB> Быстрому с т.з. какого критерия (цифры тестов)? S> Я понимаю, что компилятор может оказаться умным и соберет пару десятков присваивания с суммированием строк в один оператор. Я не втыкал так глубоко. Но я ориентируюсь на то что компилятор дурак — и упрощаю задачу.
Преждевременная оптимизация — зло. Попытка оптимизации без точного понимания низлежащих механизмов — зло в квадрате сродни шаманству.
S> AB> Ни один из maintainer-ов не принял бы патч с подобным объяснением. Тебе ли этого не знать. S> Откуда мне это знать? Я — админ
Админы не причесывают код. Ты прекрасно понимаешь что я имею ввиду.
S> AB> Т.е. ты правишь код без цели? S> Я смотрю в код, смотрю на работу приложения — выбираю что можно сделать и делаю.
Какими критериями ты руководствуешься при выборе?
S> Сегодня вот утром была цель объиконить дерево сообщений.
Это не цель. Это визуальное средство, которое должно было решить какую-то задачу. Какую?
S> Потом появилась цель перелопатить диалог настроек.
Опять средство. Открой, например, KMail и зайди в учетные записи. Ты видишь там SpinBox для выбора номера порта? Ты видишь там смесь подписей для полей на русском и английском языке одновременно ("Checking as readed", например — сам напоролся на перевод)? Что такое "Язык ru/en", когда известны переводы локалей? Почему диалог выбора шрифта на английском языке? И т.д.
S> Я пишу на работе. У меня там интернета нету, чтобы каждую идею в трак писать
Это не повод. Мы никуда не торопимся, нам не надо без остановки "педалить код и нет времени подумать" и т.д. Сел вечерком, записал идеи. Взял одну, выполнил. Хочется реализовать много идей за день — записал в трак, слил репозиторий в git, отработал на нужное количество ревизий, пришел домой, смержил каждую ревизию с коммитом. Не нравится git — есть возможность svnsync.
Первая ревизия авалона в этом репозитории была более года назад. До этого было выкинуто в небытие еще три прототипа. Два из них были выкинуты из за того, что я изначально попытался заложить в них излишнюю "фитчастость", которой де-факто нет в текущей версии и не предвидится еще долго.
S> AB> S> План действий: причесать код. S> AB> Это не план. Кому нужно причесать код? Какие характеристики после этого улучшатся? Какие задачи будут решены? S> Сравни диалог настроек который был и который есть.
Чуть выше сравнил.
S> AB> Ты еще не закончил с доклетами — они до сих пор не работают как им полагается, нет возможности их зафиризить для совместимости с предыдущим отображением, нет возможности их отобразить (правая кнопка по тулбару — не очевидно), нет, скажем, некоторых стандартных пресетов, что было бы удобно не тягать их. S> Тоесть доклеты плохие, потому что они лучше сплиттеров не на два порядка, а всего лишь на один. Интересная точка зрения...
Не бывает плохих методов. Бывает неправильное их использование. Сейчас я не могу настроить доклеты привычным для меня образом => использование последних сборок для меня не комфортно. Я предлагаю пути их реального улучшения. Сделать так, чтобы с ними было удобно и комфортно работать — это хорошая задача, т.к. с одной стороны может не ломать привычек, а с другой настроить под свои требования.
Слушай, я просто хочу поучавствовать. Я не хочу в тикеты, я не хочу ничего. Я просто хочу сделать то что мне интересно.
Пока что недовольный только ты.
Здравствуйте, Sheridan, Вы писали:
S>Слушай, я просто хочу поучавствовать. Я не хочу в тикеты, я не хочу ничего. Я просто хочу сделать то что мне интересно. S>Пока что недовольный только ты.
Вы оба, главное, не останавливайтесь, еще пара десятков таких сообщений, и мы таки-поговорим в КСВ о преимуществах опенсорс-модели разработки, я уже почти готов
А что мешает выделить в репе отдельную ветку для подобных экспериментов и спорных изменений?
S> AB> * Доклеты не доделаны;
S> эээ... А чего там не доделано? Как минимум они на порядок лучше скроллеров хотябы потом что могут перемещаться и вообще отцепляться. Владельцам нескольких мониторов вообще сказка.
Шеридан, тебе было четко сказано, что именно:
нет возможности их зафиризить для совместимости с предыдущим отображением, нет возможности их отобразить (правая кнопка по тулбару — не очевидно), нет, скажем, некоторых стандартных пресетов, что было бы удобно не тягать их.
Здравствуйте, Sheridan, Вы писали:
S> Слушай, я просто хочу поучавствовать. Я не хочу в тикеты, я не хочу ничего. Я просто хочу сделать то что мне интересно. S> Пока что недовольный только ты.
Вдумчиво читать басню Крылова «Лебедь, рак и щука». До полного понимания.
Перевожу: есть проект, над которым работаешь н етолько ты один. И этим проектом пользуешься не только ты один.
Здравствуйте, Sheridan, Вы писали:
S> AB> За ломающие изменения в транке обычно дают желтую карточку (особенно когда появился человек, которому интересна работа под windows).
S> о0 Перед коммитом я сделал up, все прошло нормально.
попробуй убрать поддержку злиба и скомпилить? попробуй, результат тебя может удивить.