CeMuPaMuDa / ROR_GB

1 stars 0 forks source link

Основы Ruby on Rails, часть I, Урок 1 #1

Open igorsimdyanov opened 2 years ago

igorsimdyanov commented 2 years ago

Отлично!

Понравилось: 1) Решены все задания, в том числе сложные 2) Использование chomp: true во втором и третьем заданиях 3) Использование гема html_to_plain_text 4) Использование регулярных выражений 5) Использование json-файла (но в нем бы хорошо сохранять json, а не просто текст) 6) Использование uniq

Замечания:

Очень хороший стиль и код! Задание 4 правильное, самое главное добиться результата - потом можно его рефачить и совершенствовать. Это сильно проще сделать если есть рабочее решение и всегда можно перепроверить остается ли код работоспособным.

  1. Но хорошо бы тут
phone = []
arr.each do |num|
  phone.push num if num.match(/^(\s*)?(\+)?([- _():=+]?\d[- _():=+]?){10,14}(\s*)?$/)
end

добиться вот такого поведения

phone = arr.map
  ...
end
  1. плюс, хорошо бы внутри each используется if, хорошо бы так переработать, чтобы вместо each использовался select для отбора тех вхождений, которые удовлетворяют условию.

  2. Массив phone хранит более одного телефона - хорошо бы это обозначать множественным числом phones

phones = []
  1. Не использовался rubocop, как результат получил следующий отчет
1.4_Phone_search.rb:1:1: C: Naming/FileName: The name of this source file (1.4_Phone_search.rb) should use snake_case.
require 'html_to_plain_text'
^
1.4_Phone_search.rb:1:1: C: [Correctable] Style/FrozenStringLiteralComment: Missing frozen string literal comment.
require 'html_to_plain_text'
^
1.4_Phone_search.rb:11:6: C: [Correctable] Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
puts "Телефоны тех.поддержки GeekBrains: "
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1.4_Phone_search.rb:12:16: C: [Correctable] Layout/TrailingEmptyLines: Final newline missing.
puts phone.uniq

Я со всеми замечаниями rubocop согласен )))

По поводу разного количества строк в разных браузерах:

Скорее всего какой-то из браузеров преобразует текст. Например удаляет пустые строки или по-разному реагирует на unix и windows переводы строк \n и \r\n. Всех надежнее сохранить страницу как файл на жесткий диск - и посмотреть что там (оригинальный файл браузеры стараются не модифицировать). Плюс в некоторых браузерах трудно добраться до самого оригинального файла, они даже исходный код могут формировать из DOM-структуры (когда по ней уже потоптались оптимизатор браузера и JS-код).

CeMuPaMuDa commented 2 years ago

Спасибо) Теперь понимаю, что на работе консультировать клиентов и одновременно писать код не стоит :) Задание 4 отредактировала и прогнала рубокопом.

CeMuPaMuDa commented 2 years ago

Прошу проверить домашку ко 2 уроку (сделала 2 в 1). Кстате, смогла сделать только под Ubuntu, под Windows запустить не смогла https://github.com/CeMuPaMuDa/ROR_GB/tree/master/2.1_2_static