Arvatel / PhotoEditor

0 stars 0 forks source link

Идеи по улучшению кода #1

Open Markovvn1 opened 4 years ago

Markovvn1 commented 4 years ago
  1. Файлик PhotoEditor/app/src/main/java/com/arvatel/photoeditor/algorithms/Scaling.java содержит две практически одинаковые функции. Было бы хорошо если бы одна из функций (nearestNeighborScalingRatio) вызывала уже написанную функцию (nearestNeighborScaling) чтобы исключить повторение кода.
  2. Алгоритмы для масштабирования, поворота и смещения очень похожи, поэтому их обычно объединяют в один алгоритм, выполняющий аффинные преобразования. В таком случае не придется дублировать код отдельно для масштабирования, поворота и смещения.
Markovvn1 commented 4 years ago
  1. Файл PhotoEditor/app/src/main/java/com/arvatel/photoeditor/algorithms/Filter.java тоже содержит много повторяющегося кода. Как вариант можно создать интерфейс PixFilter, который будут наследовать все фильтры, выполняющие попиксельную фильтрацию (Sketch, Grey, Sepia/Speia/Spia). Далее сделать метод applyPixFilter, принимающий картинку и объект класса PixFilter. Этот метод будет применять переданный фильтр ко всей картинке.