Базовые представления об удобстве использования GUI.
Общий подход к работе над адаптацией к программе
I этап
Установить программу
Записать наблюдаемые визуальные дефекты и проблемы с функциональностью
Локализовать проблемное место
Запросить исходники проблемной части, которые помогут написать код, воспроизводящий ситуацию
Оценить трудоёмкость работы по исправлению в человекоднях
II этап
Выполнить необходимые доработки согласно плану
Провести полное тестирование результата
Проверять отсутствие регрессии на каждом новом шаге развития WINE (раз в неделю)
III этап
Осуществлять поддержку и оперативное исправление замечаний
Примерный план работы по каждой задаче
Должно быть сформулировано прохождение каждой проблемы от появления до решения.
Формулирование видения проблемы извне (внешне, с точки зрения пользователя) – какой диалог как себя не так ведёт.
Анализ кода с целью получения общего представления и определения проблемных мест
Создание описание функции на англ., включая поведение в сложных ситуациях (для начала можно на русском). При этом описать входы и выходы (что передаётся и возвращается, в каких ситуациях). По сути, это техн. задание ТЗ) – но чтобы было с чем сверяться. При этом изучить и систематизировать имеющийся в сети материал.
Cоздание программы для тестирования в различных режимах, в большинстве случаев это оформляется как программа, воспроизводящая проблему – небольшой код, который неверно работает в WINE. Программа должна компилироваться средствами winegcc.
Определиться, что не работает, что работает не так; сформулировать что надо сделать
Согласно имеющейся информации написать автоматический тест (каталог tests), если это возможно. Тест должен выполняться на Win 9 X / Win 2 K?
Составить план работ с оценкой трудоёмкости и сроков (дата начала и завершения)
Приступить к выполнению, корректируя п. 3–5
Как вносить исправления
По всем пунктам, где требуется решить проблему,
сначала желательно воспроизвести ситуацию отдельной программой, если возможно;
потом – либо написать хак (не совсем корректный патч, который делает что проблема убирается, но не факт, что это правильное решение и годится для других);
либо внести полные исправления в функцию, с комментариями к ней.
Все сделанные патчи (и подготовленные к отправке) должны помещаться в patches/check (во внутренний CVS wine-etersoft):