Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public enum TaskType {
- ACTIVE("a", "b", "c"), COMPLETED("a", "b", "c");
- String[] taskTexts;
- TaskType(String... taskTexts) {
- this.taskTexts = taskTexts;
- }
- @Override
- public String toString() {
- switch (this) {
- case ACTIVE:
- String results = "localStorage.setItem('todos-troopjs', '[";
- for (String text : taskTexts) {
- results = results + "{\"completed\":false,\"title\":\"" + text + "\"}, ";
- }
- if (taskTexts.length > 0) {
- results = results.substring(0, (results.length() - 2));
- }
- results = results + "]')";
- return results;
- case COMPLETED:
- results = "localStorage.setItem('todos-troopjs', '[";
- for (String text : taskTexts) {
- results = results + "{\"completed\":true,\"title\":\"" + text + "\"}, ";
- }
- if (taskTexts.length > 0) {
- results = results.substring(0, (results.length() - 2));
- }
- results = results + "]')";
- return results;
- default:
- throw new AssertionError("Unknown operations " + this);
- }
- }
- }
- /*
- Достаточно странный код получился
- До начала переделки кода - приведи мне примеры
- как ты этот код проверял и использовал
- просто даже интересно)
- Пример из жизни )
- Например, есть у нас разные фрукты) - яблоки / груши / и прочие разные
- У каждого фрукта есть свойство - спелость
- фрукт может быть спелым и зеленым(не спелым)
- Получается - что наш фрукт характеризуют 2 свойства - его название и его спелость
- И нам например - на начало задачи надо сказать
- дано
- спелая груша
- зеленое яблоко
- спелый апельсин
- или
- спелые фрукты - груша, яблоко, груша
- Заметь - мы это говорили - когда рассуждали в терминах - что нам дано
- и описывали фрукт с помощью двух НЕЗАВИСИМЫХ друг от друга свойств - спелость и название
- а не так
- Есть у нас понятие спелость фруктов
- спелость фруктов "спелый" = относится только к набору яблоко + груша + апельсин
- спелость фруктов "зеленый" = относится только к набору яблоко + груша + апельсин
- т е само понятие "спелость фруктов" - включает в себя структуры, которые вообще говоря
- никак не могут быть ни подчиненными, ни зависимыми
- ну и описываем мы "спелость фруктов" - уже как что-то, включающее в себя вот эти структуры
- Есть такой важный принцип - Single Responsibility Principle - погугли
- Тип таски - это только тип таски, и ничего более.
- Он ничего не знает о тасках, никак ими не управляет
- Тип таски - такая же часть описания таски, как ее наименование
- И только
- Как максимум - тип таски благодаря методу toString() - может вернуть свое текстовое представление
- А это - "true" или "false"
- Ну или вот так - \"completed\":true" или \"completed\":false
- При этом метод toString() - должен быть простым максимально. Тут уже никакой логики развитой быть не должно.
- Я писала тебе - не обязательно это делать
- Пока я категорически настаиваю - чтоб toString() ты не реализовывал.
- Возможно, потом по финишу это сделаем
- Пока - рано
- Т к в этих технических деталях - теряется цель
- Тексты тасок - никакого отношения не имеют к типу таски
- это отдельные независимые от типа таски - данные о таске
- и потому они никак не могут быть подчиненными относительно типа таски
- TaskType - не должен оперировать данными о текстах таски
- Как мы договаривались с тобой ранее - нужно разработать метод c параметрами
- (TaskType taskType, String ... taskTexts)
- При его реализации - не вызывай ранее разработанные методы (используй их как пример, не более)
- Потом ранее разработанные методы просто уйдут - пока мы их используем как пример
- Но в итоге - конечно, дублирования не будет. Но это потом
- Как решение - предоставляй линку на репозиторий
- В качестве промежуточного решения - Я хочу видеть весь проект
- а в нем - и разработанный метод, и тест-метод - в котором ты работал с ним
- То, как мы делали, созваниваясь по скайпу
- */
Advertisement
Add Comment
Please, Sign In to add comment