-
Notifications
You must be signed in to change notification settings - Fork 2
Release 1.5 #133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 1.5 #133
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code review by ChatGPT
0, | ||
0 | ||
] | ||
} | ||
} | ||
], | ||
"shadow" : { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В целом изменения выглядят структурированными, но есть несколько моментов, на которые стоит обратить внимание:
-
Именование файлов и свойств:
- Переименование
raccoon3.png
наraccoon3_.png
может привести к путанице. Если добавляется суффикс_
для различения версий, возможно, стоит использовать более описательные имена, например,raccoon3_highRes.png
илиraccoon3_variant.png
, чтобы было ясно, в чем отличие.
- Переименование
-
Формат ключей:
- Использование дефисов в названиях ключей, например,
translation-in-points
, не соответствует принятым в Swift стилям (camelCase). Рекомендуется придерживаться camelCase (translationInPoints
) для лучшей интеграции с Swift-кодом и использования Codable протокола.
- Использование дефисов в названиях ключей, например,
-
Структура данных и типы:
- Убедитесь, что структура данных соответствует вашим моделям в коде. Например, если вы добавили свойства
shadow
иtranslucency
, необходимо, чтобы соответствующие модели Swift включали эти поля и корректно обрабатывали их.
- Убедитесь, что структура данных соответствует вашим моделям в коде. Например, если вы добавили свойства
-
Использование магических чисел:
- Значения, такие как
scale: 1.2
илиopacity: 0.5
, используются напрямую. Рассмотрите возможность вынесения таких значений в константы или конфигурируемые параметры, чтобы облегчить их изменение и повысить читаемость кода.
- Значения, такие как
-
Точность чисел:
- Значения
translation-in-points
содержат большое количество знаков после запятой (например, -1.88134765625). Возможно, стоит округлить их до более разумной точности, если такая высокая детализация не требуется, чтобы улучшить читаемость и избежать потенциальных ошибок округления.
- Значения
-
Использование enum для типов теней:
- В свойстве
shadow
используется строка"kind" : "neutral"
. Рекомендуется использовать перечисления (enum) для таких полей, чтобы ограничить возможные значения и уменьшить вероятность опечаток. Например:enum ShadowKind: String, Codable { case neutral case dark case light // другие варианты }
- В свойстве
-
Проверка поддерживаемости свойств:
- Убедитесь, что добавленные свойства, такие как
translucency
, корректно поддерживаются в вашем UI. Возможно, потребуется дополнительная логика для обработки новых параметров или обновления существующих компонентов.
- Убедитесь, что добавленные свойства, такие как
-
Документация и комментарии:
- Хотя вы просите не комментировать работающий код, добавление кратких комментариев к новым свойствам может помочь другим разработчикам быстрее понять назначение и использование этих параметров.
Рекомендуется протестировать изменения тщательно, особенно в тех местах, где были добавлены новые свойства, чтобы убедиться в их корректной обработке и отображении в интерфейсе.
"red" : "0.094" | ||
"blue" : "0.235", | ||
"green" : "0.125", | ||
"red" : "0.082" | ||
} | ||
}, | ||
"idiom" : "universal" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ваши изменения касаются цветовых компонентов в JSON-файле. Вот некоторые конструктивные замечания и предложения по улучшению:
-
Повторяющиеся блоки кода:
- Видно, что изменения по сути дублируются в двух местах. Это может привести к трудностям при дальнейшем обслуживании. Рекомендуется вынести цветовые значения в отдельный конфигурационный файл или использовать системные расширения для управления цветами в Swift.
-
Использование числовых значений:
- Хардкодинг значений цвета может затруднить их изменение и поддержку. Рассмотрите возможность использования
UIColor
илиColor
в SwiftUI с именованными цветовыми переменными. Например:
extension Color { static let customBlue = Color(red: 0.082, green: 0.125, blue: 0.235) }
Это позволит легко управлять цветами и обеспечит лучшую читаемость кода.
- Хардкодинг значений цвета может затруднить их изменение и поддержку. Рассмотрите возможность использования
-
Цветовой профиль:
- Убедитесь, что используемый цветовой профиль (
srgb
) соответствует требованиям вашего проекта. Если приложение должно поддерживать различные цветовые пространства, возможно, стоит учитывать это в реализации.
- Убедитесь, что используемый цветовой профиль (
-
Консистентность значений:
- Проверьте, соответствуют ли обновленные значения цвета дизайну и общей палитре приложения. Неконсистентность цветовых компонентов может негативно повлиять на пользовательский опыт.
-
Документация изменений:
- Рекомендуется документировать, почему были изменены именно эти значения цвета. Это поможет другим разработчикам понять контекст изменений и избежать потенциальных ошибок в будущем.
-
Автоматизация и инструменты:
- Рассмотрите возможность использования инструментов для управления цветами, таких как SwiftGen. Это поможет автоматически генерировать код для цветовых ресурсов и снизит вероятность ошибок.
Применение этих рекомендаций может повысить качество и поддерживаемость вашего кода, а также облегчить дальнейшую работу с цветовыми ресурсами в проекте.
"red" : "0.094" | ||
"blue" : "0.235", | ||
"green" : "0.125", | ||
"red" : "0.082" | ||
} | ||
}, | ||
"idiom" : "universal" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В представленном фрагменте кода изменения касаются значений цветовых компонентов (blue, green, red) в пространстве цветов "display-p3". Вот мои замечания и рекомендации:
-
Тип данных компонентов цвета:
- В текущем коде значения компонентов цвета представлены как строки (например,
"0.235"
). Рекомендуется использовать числовые типы данных (например,Double
илиCGFloat
) для цветовых компонентов. Это упростит обработку и позволит избежать возможных ошибок преобразования типов.
- В текущем коде значения компонентов цвета представлены как строки (например,
-
Точность значений:
- Убедитесь, что точность значений компонентов цвета достаточна для требуемого отображения. Например, использование трех знаков после запятой (
0.235
) может быть недостаточным для некоторых случаев, где необходима большая точность.
- Убедитесь, что точность значений компонентов цвета достаточна для требуемого отображения. Например, использование трех знаков после запятой (
-
Унификация цветового пространства:
- Использование "display-p3" обеспечивает более широкий цветовой охват по сравнению с sRGB. Убедитесь, что все цвета в проекте используют одно и то же цветовое пространство для консистентности отображения.
-
Документация изменений:
- Если изменения цветовых значений связаны с определёнными требованиями дизайна или устранением проблем с доступностью, рекомендуется добавить комментарии или описания к коммиту, поясняющие причину изменений. Это облегчит последующий обзор и поддержку кода.
-
Использование Asset Catalog:
- Рассмотрите возможность хранения цветов в Asset Catalog (
.xcassets
), что обеспечивает централизованное управление цветовой палитрой и упрощает её использование в SwiftUI. Это также позволяет легко поддерживать разные цветовые схемы для светлого и тёмного режимов.
- Рассмотрите возможность хранения цветов в Asset Catalog (
-
Проверка соответствия стандартам доступности:
- Изменения в цветах могут повлиять на контрастность и читаемость интерфейса. Рекомендуется проверить, соответствуют ли новые цветовые значения стандартам доступности (например, WCAG) для обеспечения удобства использования приложения всеми пользователями.
-
Автоматическое тестирование:
- Если проект использует автоматические тесты для проверки цветовых схем или компонентов UI, убедитесь, что обновленные значения не нарушают существующие тесты и при необходимости обновите их.
-
Кроссплатформенная поддержка:
- Если приложение поддерживает несколько платформ (iOS, macOS, tvOS и т.д.), убедитесь, что используемые цветовые значения корректно отображаются на всех целевых устройствах и экранах.
Следуя этим рекомендациям, вы сможете повысить качество и надёжность кода, а также обеспечить лучшую поддерживаемость и расширяемость проекта в будущем.
@@ -40,7 +40,7 @@ | |||
<resources> | |||
<image name="PomPadDo" width="1024" height="1024"/> | |||
<namedColor name="LaunchScreenBkg"> | |||
<color red="0.045611590149999999" green="0.080034159120000004" blue="0.16079342369999999" alpha="1" colorSpace="custom" customColorSpace="displayP3"/> | |||
<color red="0.082352941176470587" green="0.12549019607843137" blue="0.23529411764705882" alpha="1" colorSpace="custom" customColorSpace="displayP3"/> | |||
</namedColor> | |||
</resources> | |||
</document> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ваше изменение в основном касается обновления версий инструментов и изменения значений цветов в Storyboard
. Вот несколько замечаний и рекомендаций:
-
Обновление
toolsVersion
иplugIn
версии:- Проблема: Обновление версий инструментов и плагинов может привести к несовместимости с предыдущими версиями Xcode или iOS. Это особенно важно, если проект поддерживает разные версии.
- Рекомендация: Убедитесь, что все члены команды используют совместимые версии Xcode. Если проект должен поддерживать более старые версии Xcode, рассмотрите возможность отката изменений или обновления всех участников.
-
Изменение цветов:
- Проблема: Изменение значений цветов может повлиять на единообразие дизайна приложения. Также использование хардкодированных значений цветов усложняет их управление и изменение в будущем.
- Рекомендация:
- Используйте именованные цвета: Вместо прямого задания значений RGB, определите цвета в
Assets.xcassets
и используйте их по именам. Это облегчит управление цветовой схемой и поддержку различных режимов (например, светлый и тёмный режимы). - Проверка соответствия дизайну: Убедитесь, что новые значения цветов соответствуют дизайнерским спецификациям и общей стилистике приложения.
- Используйте именованные цвета: Вместо прямого задания значений RGB, определите цвета в
-
Использование XIB/Storyboard vs SwiftUI:
- Проблема: Если вы рассматриваете переход на SwiftUI, внесение изменений в
Storyboard
может свидетельствовать о смешении подходов, что может усложнить поддержку кода. - Рекомендация: Решите, хотите ли вы полностью перейти на SwiftUI или продолжить использовать Interface Builder. Если планируется переход, начните поэтапно мигрировать экраны, чтобы избежать конфликтов и технического долга.
- Проблема: Если вы рассматриваете переход на SwiftUI, внесение изменений в
-
Оптимизация XML:
- Проблема: XML-файлы Storyboard могут со временем разрастаться и становиться трудно читаемыми.
- Рекомендация: Регулярно проводите ревизию и оптимизацию Storyboard, удаляйте неиспользуемые элементы и учитывайте модульную архитектуру UI, возможно, разбивая интерфейс на отдельные компоненты или модули.
-
Контроль версий:
- Проблема: Изменения в автогенерируемых файлах, таких как Storyboard, могут привести к конфликтам при одновременной работе нескольких разработчиков.
- Рекомендация: Старайтесь минимизировать одновременные изменения одного и того же Storyboard несколькими разработчиками. Используйте инструменты для слияния, которые лучше обрабатывают XML, или рассмотрите возможность использования отдельного Storyboard для каждого экрана.
В целом, изменения выглядят нормально с точки зрения технической корректности, однако важно учитывать вышеуказанные аспекты для поддержания качества и стабильности кода в долгосрочной перспективе.
@@ -1855,7 +1856,7 @@ | |||
buildSettings = { | |||
BUNDLE_LOADER = "$(TEST_HOST)"; | |||
CODE_SIGN_STYLE = Automatic; | |||
CURRENT_PROJECT_VERSION = 45; | |||
CURRENT_PROJECT_VERSION = 48; | |||
DEAD_CODE_STRIPPING = YES; | |||
GENERATE_INFOPLIST_FILE = YES; | |||
MACOSX_DEPLOYMENT_TARGET = 14.0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ваши изменения в основном касаются обновления версий проекта и добавления новых локализаций. Вот несколько конструктивных замечаний и предложений для улучшения кода:
-
Обновление версий проекта:
- Последовательность обновлений: Вы обновили
CURRENT_PROJECT_VERSION
с 45 до 48 иMARKETING_VERSION
с 1.4 до 1.5 во множестве мест. Убедитесь, что это изменение согласовано во всех целевых платформах и компонентах проекта. Возможно, стоит рассмотреть использование переменных или скриптов для автоматизации этого процесса, чтобы избежать пропусков в будущем. - Документация изменений: Рекомендуется добавить примечания или комментарии в системе управления версиями, объясняющие причину изменения версии. Это поможет команде лучше отслеживать изменения и понимать их контекст.
- Последовательность обновлений: Вы обновили
-
Добавление и удаление локализаций:
- Удаление
zh
и добавлениеzh-Hans
иzh-Hant
: Это правильный шаг для разделения упрощённого и традиционного китайского. Однако убедитесь, что все соответствующие файлы строк (.strings
) для каждой из этих локализаций присутствуют и правильно настроены в проекте. - Проверка файлов локализаций: После добавления новых локализаций рекомендуется проверить наличие и корректность файлов
SafariExtensionViewController.strings
в соответствующих директориях (zh-Hans.lproj
иzh-Hant.lproj
). Это поможет избежать ошибок при локализации приложения. - Обновление ресурсов: Убедитесь, что все ресурсы, связанные с локализациями, обновлены и синхронизированы с новыми настройками. Это включает изображения, тексты и другие локализуемые элементы.
- Удаление
-
Управление зависимостями и сборками:
- Проверка
sourceTree
: Убедитесь, что путиsourceTree
правильно указывают на соответствующие директории. Некорректные пути могут привести к ошибкам при сборке проекта. - Автоматизация сборки: Рассмотрите возможность использования инструментов автоматизации (например, Fastlane) для управления версиями и сборками. Это поможет избежать человеческих ошибок и обеспечить более гладкий процесс CI/CD.
- Проверка
-
Общие рекомендации:
- Тестирование изменений: После внесения изменений в проектный файл рекомендуется провести полное тестирование приложения на всех поддерживаемых платформах и локализациях, чтобы убедиться в отсутствии регрессий.
- Код-ревью коллег: Перед слиянием изменений стоит привлечь коллег для дополнительного просмотра, особенно если изменения затрагивают критичные части проекта.
- Использование комментариев: В местах, где были внесены значительные изменения, полезно добавить комментарии для будущих разработчиков, поясняющие суть и причину изменений.
В целом, ваши изменения выглядят структурированно и последовательно. Однако внимание к деталям и дополнительная проверка помогут избежать потенциальных проблем при интеграции этих изменений в основной проект.
@@ -1,7 +1,7 @@ | |||
{ | |||
"images" : [ | |||
{ | |||
"filename" : "512x512@2x 1.png", | |||
"filename" : "raccoon4.png", | |||
"idiom" : "universal", | |||
"platform" : "ios", | |||
"size" : "1024x1024" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ваши изменения выглядят в целом корректно, однако есть несколько моментов, на которые стоит обратить внимание:
-
Соответствие размеров изображения:
- В
size
указано1024x1024
, убедитесь, что новое изображениеraccoon4.png
действительно соответствует этим размерам. Несоответствие размеров может привести к искажениям или некорректному отображению в приложении.
- В
-
Разрешение и масштабирование:
- Предыдущий файл назывался
512x512@2x 1.png
, что указывает на @2x масштабирование. Новый файлraccoon4.png
не содержит информации о масштабировании в названии. Убедитесь, что изображение имеет необходимое разрешение для поддержки разных плотностей экранов (например, @1x, @2x, @3x) или обновите соответствующие ассеты в каталоге ресурсов.
- Предыдущий файл назывался
-
Нейминг и консистентность:
- Убедитесь, что новое имя
raccoon4.png
соответствует общей схеме именования в проекте. Это помогает поддерживать консистентность и облегчает навигацию по ресурсам.
- Убедитесь, что новое имя
-
Использование в коде:
- Проверьте, что все ссылки на старое имя файла были обновлены в кодовой базе. Некорректные ссылки могут привести к ошибкам при загрузке изображений.
-
Кэширование и кэш-бустинг:
- Если приложение использует кэширование для изображений, убедитесь, что новое имя файла учитывается системой кэширования, чтобы избежать конфликтов или использования устаревших ресурсов.
-
Тестирование на устройствах:
- После внесения изменений протестируйте отображение изображения на разных устройствах и симуляторах, чтобы гарантировать, что изображение отображается корректно во всех случаях.
-
Обновление документации:
- Если в проекте ведется документация по ресурсам, не забудьте обновить ее, отразив изменение имени файла.
Внедрение этих проверок поможет избежать потенциальных проблем и обеспечить плавную интеграцию нового ресурса в проект.
"stringUnit" : { | ||
"state" : "translated", | ||
"value" : "昨天" | ||
} | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ваша работа по добавлению локализаций для китайского языка выглядит основательно. Тем не менее, есть несколько моментов, на которые стоит обратить внимание для улучшения качества и поддерживаемости кода:
-
Структура локализаций:
- Убедитесь, что каждый блок локализации правильно вложен и закрыт. В некоторых местах наблюдаются несоответствия в структуре кавычек и фигурных скобок, что может привести к синтаксическим ошибкам.
- Например, в некоторых секциях после добавления
"zh-Hans"
и"zh-Hant"
отсутствуют закрывающие скобки}
или запятые, что может нарушить корректность JSON-структуры.
-
Последовательность названий языковых кодов:
- Вы добавили локализации
"zh-Hans"
и"zh-Hant"
, что соответствует упрощённому и традиционному китайскому соответственно. Это правильно и соответствует стандарту BCP 47. - Однако, в некоторых местах присутствует
"zh"
, который является нейтральным кодом. Рекомендуется использовать только"zh-Hans"
и"zh-Hant"
для явного указания типа китайского языка, избегая потенциальных конфликтов или неопределённостей.
- Вы добавили локализации
-
Консистентность переводов:
- Проверьте, что переводы для
"zh-Hans"
и"zh-Hant"
соответствуют смыслу оригинальных строк и правильно адаптированы для целевой аудитории. - Например, в некоторых строках переводы содержат дополнительные пробелы перед значениями переменных (
%lld 小时
vs%lld小时
). Рекомендуется придерживаться единообразного формата для обеспечения корректного отображения.
- Проверьте, что переводы для
-
Использование шаблонов и параметров:
- Убедитесь, что все параметры в строках (
%lld
,%1$lld
,%2$lld
,@%
, и т.д.) правильно размещены и соответствуют синтаксису используемого фреймворка локализации. Неправильное использование может привести к ошибкам при форматировании строк. - Рассмотрите возможность использования именованных параметров, если это поддерживается, для повышения читаемости и удобства поддержки локализаций.
- Убедитесь, что все параметры в строках (
-
Оптимизация и DRY-принцип:
- Если в проекте используются повторяющиеся блоки локализаций, рассмотрите возможность их вынесения в отдельные шаблоны или функции для уменьшения дублирования кода.
- Это улучшит поддерживаемость и упростит внесение изменений в будущем.
-
Проверка синтаксиса и валидация:
- После внесения изменений рекомендуется проверить JSON-файлы на синтаксические ошибки с помощью валидаторов JSON.
- Это поможет обнаружить и исправить возможные ошибки до интеграции изменений в основной код.
-
Тестирование локализаций:
- После добавления новых локализаций обязательно протестируйте их в приложении, чтобы убедиться в корректном отображении и отсутствии визуальных или функциональных проблем.
- Проверьте, как строки отображаются в разных частях интерфейса, особенно те, которые содержат параметры и динамические значения.
-
Документация и комментарии:
- Добавьте комментарии к новым локализациям, если это необходимо, особенно если некоторые строки требуют дополнительного пояснения для переводчиков или других разработчиков.
- Это улучшит понимание и упростит дальнейшую работу с локализациями.
В целом, ваш подход к расширению локализаций выглядит правильным. Обратите внимание на вышеуказанные моменты для повышения качества и надёжности кода.
No description provided.