julia_v_iluhina

Untitled

Aug 31st, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.87 KB | None | 0 0
  1. исправила, ссылка та же (бранч пока не делала, пока задание полностью не принято :-))
  2. появился новый вопрос, он в том же файлике
  3.  https://docs.google.com/document/d/1UTSkgKak6ATIBfatSJjvDPvxKel7zCp5LSMwieSYmW0/edit
  4. /*
  5.     файлик не открывается - нету доступа
  6.  
  7.     лучше под каждое ревью делай свой файлик с вопросами
  8.     чтоб я не думала - где уже читали / где еще не читали
  9.  
  10. */
  11. ***********************************
  12.  
  13. public <V> V until(Condition<V> condition, long timeoutMs)
  14.  
  15. /*
  16.     это единственный метод, где мы ждем на вход милисекунды
  17.     в остальных случаях - мы ждем секунды в качестве размера таймаута
  18.  
  19.     давай для единообразия и тут секунды принимать
  20.     уже внутри метода в милисекунды пересчитаешься
  21. */
  22. *********************************************************
  23.  
  24. public class ExactTexts extends Texts {
  25.     public ExactTexts(String... expectedTexts) {
  26.         this.expectedTexts = expectedTexts;
  27.     }
  28. /*
  29.     тут можно было вызвать super(expectedTexts)
  30.     http://developer.alexanderklimov.ru/android/java/extends.php
  31.     http://metanit.com/java/tutorial/3.5.php
  32.     https://docs.oracle.com/javase/tutorial/java/IandI/super.html
  33. */
  34.     @Override
  35.     public List<WebElement> checkElements(List<WebElement> elements) {
  36.         ....
  37.             if (!actualTexts.get(i).equals(expectedTexts[i])) {
  38.         ....
  39. /*
  40.     только эта строка кода во всем методе и отличается от реализации метода предка
  41.     если в предке - реализовать вот так (см ниже)
  42. */
  43.  
  44.  @Override
  45.     public List<WebElement> check(List<WebElement> elements) {
  46.               actualTexts = Helpers.getTexts(elements);
  47.                 if (actualTexts.size() != expectedTexts.length) {
  48.                     return null;
  49.                 }
  50.                 for (int i = 0; i < actualTexts.size(); i++) {
  51.                     if (!checkElement(i)) {
  52.                         return null;
  53.                     }
  54.                 }
  55.                 return elements;
  56.     }
  57.  
  58.     public boolean checkElement(int index) {
  59.         return (actualTexts.get(i).contains(expectedTexts[i]));
  60.     }
  61. /*
  62.     то - в потомке - у тебя останется только конструктор с вызовом super
  63.     да однострочный checkElement(int index)
  64.  
  65.     суть - все общее - написать один раз
  66.     и только разное  - реализовать по-разному
  67.  
  68.     попробуй
  69. */
  70. **********************************************
  71.  
  72. public class MinimumSizeOf extends SizeOf {
  73.  
  74. /*
  75.     тут в checkElements - можно выносить только проверку (listSize >= expectedSize)
  76.     да и вопрос - нужен ли для этой парочки checkElements
  77.     check - в 2 строки, стоит ли что-то еще упрощать
  78.  
  79.     сэкономили на конструкторе, полях, описательных методах - уже неплохо
  80.     а check - можно и там, и там реализовать
  81.  
  82.     с checkElement / checkElements стоит заводиться - если это даст тебе какую-то реальную экономию
  83.     в паре MinimumSizeOf и  SizeOf - метод check упрощать точно не нужно)
  84. */
  85. ********************************************
  86. public class ExactText extends Text {
  87. /*
  88.     В этой паре - тоже не стоило реализовывать checkElement
  89.     остальное - да, мы сэкономили
  90.  
  91.     а checkElement - получился один-в-один check
  92.     так какой смысл тогда - еще какую-то обертку этой логике давать?
  93.  
  94.     т е - реальную єкономию с checkElement - ты получишь только для ExactTexts и Texts
  95.     остальные пары - наследование ок организовано, единственное - подумай - целесообразно ли для
  96.     них реализовывать checkElement (упрощает ли это код)
  97. */
  98. ******************************************************
  99.  
  100.  на счет present кондишена, потому что мне все еще непонятно, что с ним и как)
  101.  
  102.  /*
  103.     см прошлые комментарии и эту подсказку
  104.     isPresent = (element!=null)
  105.  */
Advertisement
Add Comment
Please, Sign In to add comment