Timkor

redundantFunc2

Nov 22nd, 2020
605
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. let stars = [];
  3. let str ='';
  4. // достатньо одного пустого рядку для розділення блоків коду
  5.  
  6.  
  7. // получаем максимальную длину ряда "*"
  8. let width = findMaxWidth(); // виклик функції норм, але не зовсім зрозуміло з чого обирати максимальне, тому що ж ще
  9. // не було введення. Було б классно спочатку зробити stars = getStarsOrBetterNameForThisFunction(); і в цій функції організувати введення. Це
  10. // була б норм декомпозиція. Ну і ім'я змінної не асоціюється за максимальним, можливо maxWidth
  11.  
  12. // Проходим по массиву
  13. for(star of stars){
  14.     //получаем центр строки
  15.     let space = (width - star) / 2; // можливо  spaceNum
  16.     //добавляем пробелы в строку
  17.     for(let j = 0; j < space; j++){
  18.  
  19.         str += ' ';
  20.     }
  21.         //Добавляем "*" в строку
  22.         for (let i = 0; i < star; i++){
  23.             str += '*';
  24.         }
  25.     // добавляем перенос строки
  26.     str += '\n';
  27. }
  28. //Выводим строку
  29. console.log(str);
  30.  
  31. function findMaxWidth(){ //  назва не співпадає з тим, що робить функція, розділити б на дві.
  32.     let i = 1;
  33.     do{
  34.         let num = +prompt('Введите не парные числа');
  35.         if(num == 0){
  36.             break; // брек це такий собі стоп-кран, можно тут і без нього обійтися.
  37.         }else if(num % 2 == 0){
  38.             continue; // ну і контінью теж можна уникнути, як і обох елсів, можна спростити
  39.         }else{
  40.             stars.push(num);
  41.         }
  42.  
  43.         i++;
  44.     }while(i <= 5);
  45.  
  46.     return Math.max.apply(null, stars); // обов'язково треба розуміти та використовувати свідомо всі функції у своєму
  47. // коді, ця функція аплай тут не треба. Також вибір максимального значення треба робити самостійно, а ні готовою функцією
  48. // мат.макс.
  49. }
  50. // не погано, але ви ускладнюєте код, використовуєте функції тоді, коли в умові задачи про їх використання не йшлося, це
  51. // не зовсім добре, а ще гірше те, що використовуєте ви їх не зовсім коректно. Краще б зосередитися на темі циклів та
  52. // створити нормальний алгоритм без брейк , елсів та контінью - повірте, це важливіше на цьому етапі ніж функції.
  53. //  Вважаю краще закодити максимально просто та без застосування вбудованих функцій.
  54. // Гарного коду.
RAW Paste Data