julia_v_iluhina

Untitled

Sep 21st, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.05 KB | None | 0 0
  1. private void givenAllActive(String... taskText){
  2.         String prefics = "{\\\"completed\\\":false, \\\"title\\\":\\\"";
  3.         String suffics = "\\\"}";
  4.         String requestString = "";
  5.         String result = "localStorage.setItem(\"todos-troopjs\", \"[";
  6.         String end = "]\")";
  7.  
  8.         StringJoiner joiner = new StringJoiner(", ");
  9.  
  10.         for (String task : taskText) {
  11.             requestString = requestString + prefics + task + suffics;
  12.             joiner.add(requestString);
  13.             requestString = "";
  14.         }
  15.         result = result + joiner.toString() + end;
  16.         System.out.println("Result: " + result);
  17.  
  18.         executeJavaScript(result);
  19.         //executeJavaScript("localStorage.setItem(\"todos-troopjs\", \"[{\\\"completed\\\":false, \\\"title\\\":\\\"" + task + "\\\"}]\")");
  20.         executeJavaScript("location.reload()");
  21.  
  22.  
  23.  
  24. }
  25.  
  26. сравни - как бы это было без такого количества переменных
  27.  
  28. private void givenAllActive(String... taskText){
  29.         String requestString = "";
  30.         StringJoiner joiner = new StringJoiner(", ");
  31.  
  32.         for (String task : taskText) {
  33.             requestString = requestString + "{\\\"completed\\\":false, \\\"title\\\":\\\"" + task + "\\\"}";
  34.             joiner.add(requestString);
  35.             requestString = "";
  36.         }
  37.         String result = "localStorage.setItem(\"todos-troopjs\", \"[" + joiner.toString() + "]\")";
  38.         System.out.println("Result: " + result);
  39.  
  40.         executeJavaScript(result);
  41.         executeJavaScript("location.reload()");
  42. }
  43.  
  44. это я не меняла логики
  45. только от переменных избавилась)
  46. стало менее понятно или запутанно?
  47. нет
  48. переменные нам нужны - если что-то используется неоднократно
  49. а тут все кусочки строки в коде - лишь однократно встречаются
  50. и не надо переключать внимание - а что ж там в той переменной содержится
  51.  
  52. *************************************************************
  53. про вот этот кусочек
  54.  
  55.  requestString = requestString + "{\\\"completed\\\":false, \\\"title\\\":\\\"" + task + "\\\"}";
  56.  joiner.add(requestString);
  57.  requestString = "";
  58.  
  59. его можно упростить до
  60.  joiner.add("{\\\"completed\\\":false, \\\"title\\\":\\\"" + task + "\\\"}");
  61.  
  62. *********************************************
  63. и вот это - String... taskText
  64. это текстЫ
  65. потому - taskTexts
  66.  
  67. и в цикле лучше
  68. не for (String task : taskText)
  69. а for (String taskText : taskTexts)
  70. **********************************************
  71. итого - получим)
  72.  
  73. private void givenAllActive(String... taskTexts){
  74.         StringJoiner joiner = new StringJoiner(", ");
  75.  
  76.         for (String taskText : taskTexts) {
  77.             joiner.add("{\\\"completed\\\":false, \\\"title\\\":\\\"" + taskText + "\\\"}");
  78.         }
  79.  
  80.         String result = "localStorage.setItem(\"todos-troopjs\", \"[" + joiner.toString() + "]\")";
  81.         System.out.println("Result: " + result);
  82.  
  83.         executeJavaScript(result);
  84.         executeJavaScript("location.reload()");
  85. }
  86.  
  87. а если еще и не выводить отладочное сообщение - то вообще красота будет
  88.  
  89. private void givenAllActive(String... taskTexts){
  90.         StringJoiner joiner = new StringJoiner(", ");
  91.  
  92.         for (String taskText : taskTexts) {
  93.             joiner.add("{\\\"completed\\\":false, \\\"title\\\":\\\"" + taskText + "\\\"}");
  94.         }
  95.  
  96.         executeJavaScript("localStorage.setItem(\"todos-troopjs\", \"[" + joiner.toString() + "]\")");
  97.         executeJavaScript("location.reload()");
  98. }
  99.  
  100. но - пока не советую убирать отладочное сообщение
  101. оно тебе еще пригодится)
  102.  
  103. дальше развивай по прошлому ревью - с 19-й строки и далее)
Advertisement
Add Comment
Please, Sign In to add comment