Как зарефакторить множество return в методе

243
25 ноября 2017, 12:04

Подскажите паттерны или решения для того чтобы писать лучше Пример кода

class Test{
      private client;
      private concreteMixer;
      constructor(client, concreteMixer){
        this.client = client;
        this.concreteMixer = concreteMixer;
      }
      public method(){
        let form = new Form();
        if(form.isSubmitted()){
          if(form.isValid()){
            let field = form.getField();
            let infoField = this.client.testField(field);
            if(!infoField){
              form.setError('This is not valid field');
              return form;
            }
            let coffee = this.concreteMixer.makeСoffee();
            //two days have passed
            if(!coffee){
              form.setError('I want coffee');
              return form;
            }
            this.concreteMixer.pourInThermosBottle();
            //two days have passed
            return coffee;
          }
        }
        return form;
      }
    }
READ ALSO
Youtube api v3 search

Youtube api v3 search

Использую youtube api v3, и не понимаю, что я делаюЕсть метод buildApiRequest в котором получается запросить некоторые данные, но стоит выйти чуть шаг влево\вправо,...

418
Книги по JS/React/Angular

Книги по JS/React/Angular

Ребята подскажите где можно скачать литературу по JS/React/Angular/ на русском бесплатноПо JS хотелось бы что нить про OOP JS,паттерны

371
Не учитывать клик, при выделении

Не учитывать клик, при выделении

Обработчик висит на элементе mainПри клике по элементам внутри main, если элемент (цель клика) является потомком блока message, к соответствующему...

378
как сделать UNIT тесты

как сделать UNIT тесты

Готовлюсь к собеседованию, помогите плиз разобраться с тестамиНапример как можно протестить эту функцию

262