Timkor

redundantFunc2

Nov 22nd, 2020
762
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

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×