Advertisement
julia_v_iluhina

Untitled

Jan 20th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.70 KB | None | 0 0
  1.     private SelenideElement startEdit(String oldTaskText, String newTaskText){
  2.  
  3.         tasks.find(exactText(oldTaskText)).doubleClick();
  4.         return(tasks.findBy(cssClass("editing")).$(".edit").setValue(newTaskText));
  5.         /*есть вторая версия реализации, c переменной; так лучше читается что возвращает метод, но зато лишние строки кода. Стоит ли так?
  6.         SelenideElement editedTaskText=tasks.findBy(cssClass("editing")).$(".edit").setValue(newTaskText));
  7.         return = editedTaskText;
  8.         */
  9.     }
  10. /*
  11.     и текущая версия кода - достаточно хороша
  12.     единственное - реформатируй код
  13.     сейчас он хуже читается из-за не стандартного форматирования
  14.  
  15.  
  16.         в IntelIJ Idea
  17.         выдели код
  18.         в меню(верхнем) - выбери пункт  - Code->Reformat code
  19.  
  20.         советую завести привычку - в конце работы - обязательно форматировать код
  21.         вероятнее всего, ты будешь работать в команде, и твой код будут смотреть другие специалисты
  22.         им проще смотреть на стандартно отформатированный код (как правило)
  23.         иногда у команды есть свои правила форматирования, которые чуть отличатся от стандартных.
  24.         Если все сделано по уму, то у всех членов команды в IntelIJ Idea именно так и настроено форматирование кода.
  25.         Т е - все равно - привычка реформатировать код - нужна
  26.  
  27.         https://www.jetbrains.com/help/idea/2016.3/reformatting-source-code.html
  28.  
  29.     что то второй версии кода
  30.  
  31.         то да, можно и так
  32.         но тогда лучше так
  33.  
  34.             tasks.find(exactText(oldTaskText)).doubleClick();
  35.  
  36.             SelenideElement inputEdit = tasks.findBy(cssClass("editing")).$(".edit");
  37.             inputEdit.setValue(newTaskText));
  38.             return inputEdit;
  39.  
  40.             получили элемент
  41.             ввели ему новое значение
  42.             вернули
  43.  
  44.         обрати внимание на синтаксис return
  45.         https://docs.oracle.com/javase/tutorial/java/javaOO/returnvalue.html
  46.         и на имя элемента inputEdit - оттолкнулись от тех терминов, которые уже используются на уровне HTML кода страницы
  47.         если есть какое-то название на User Interface - лучше конечно его брать
  48.         но и вот такой поход - тоже даст наглядное и понятное имя
  49.  
  50.         editedTaskText - для веб элемента - может путать
  51.         читая такое имя - я ожидаю что это строка
  52.  
  53.         какой вариант лучше
  54.          я бы выбрала первый - который в 2 строки
  55.          мне кажется - сложность еще приемлемая)
  56.  
  57.          но вообще - это зависит и от субъективного взгляда на вещи
  58.          и от правил, принятых в конкретной команде
  59.  
  60.          так что - и второй вариант имеет право на жизнь)
  61. */
  62. *****************************************
  63.     private void assertItemsCountIs(int tasksLeftInt) {
  64.         String tasksLeftString = Integer.toString(tasksLeftInt);
  65.         $("#todo-count>strong").shouldHave(exactText(tasksLeftString));
  66.     }
  67. /*
  68.     и тут бы я обошлась без переменной и другим более лаконичным параметром метода)
  69.  
  70.     если имя метода достаточно поясняет - можно быть не таким подробным в имени параметра
  71.     я бы его назвала count, с учетом имени метода - все понятно
  72.  
  73.     а если быть таки подробным - то тогда бы я не стала посторять сказанное в имени метода
  74.     а уточнила  - activeTasksCount
  75.    
  76.     $("#todo-count>strong").shouldHave(exactText(Integer.toString(count)));
  77. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement