Решение на Text Info от Йоанна Николова
Към профила на Йоанна Николова
Резултати
- 15 точки от тестове
- 0 бонус точки
- 15 точки общо
- 15 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
Compiling solution v0.1.0 (file:///tmp/d20171026-5817-1wcnati/solution) Finished dev [unoptimized + debuginfo] target(s) in 3.5 secs Running target/debug/deps/solution-f5dd4e94aa395cae running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out Running target/debug/deps/solution_test-c3b431457e2a7a27 running 15 tests test solution_test::test_alpha_count ... ok test solution_test::test_alpha_count_2 ... ok test solution_test::test_char_count ... ok test solution_test::test_cyrillic_letter_count ... ok test solution_test::test_emotions ... ok test solution_test::test_emotions_repeated_punctuation ... ok test solution_test::test_empty_string ... ok test solution_test::test_latin_letter_count ... ok test solution_test::test_sentence_count ... ok test solution_test::test_sentence_count_2 ... ok test solution_test::test_triple_dots_count ... ok test solution_test::test_unicode_char_count ... ok test solution_test::test_word_count ... ok test solution_test::test_word_count_2 ... ok test solution_test::test_word_count_3 ... ok test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out Doc-tests solution running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
История (4 версии и 3 коментара)
Йоанна качи решение на 25.10.2017 03:50 (преди почти 8 години)
Йоанна качи решение на 25.10.2017 03:57 (преди почти 8 години)
Йоанна качи решение на 25.10.2017 20:53 (преди почти 8 години)
Отвъд това, че съкращаванията ти са малко неконсистентни (щом "symb", що не "lett"? :)), удобна конвенция е винаги да поддържаш булевите си променливи позитивни. Тоест, on_punctuation
вероятно ще ти е по-удобно за работа, отколкото not_on_punctuation
. Понеже, във втория случай, редовно ще имаш not_on_punctuation = false
, което значи, че не сме не на пунктуация, и not_on_punctuation = true
, което значи, че сме не на пунктуация. Двойния негатив може да изтормози човек повече, отколкото е необходимо, особено в 03:57 сутринта :)
Тук едва ли ще е по-четимо да сложиш =>
на нов ред. Можеш и да махнеш къдравите скоби, ако имаш само един statement, така че да получиш:
match end_of_sentence {
'?' => self.question_sentences += 1,
'!' => ...,
'.' => ...,
_ => {},
Което мисля, че е по-кратко, и по-четимо.
Индентациите ти са доста неконсистентни. Подозирам, че е въпрос на мешане на табове и интервали, така че може да огледаш настройките на редактора си и да си избереш някакъв setting. Изглежда като малко нещо, но не подценявай колко по-лесно се работи с подреден код, който реагира консистентно, когато натиснеш backspace клавиш :).
Може да пробваш да си инсталираш и rustfmt
програмата и да видиш какво форматиране ще ти предложи. Не е задължително да следваш suggestion-ите 1:1, но си заслужава да видиш "нормалния" стил на Rust код, който ще срещаш често в чужди библиотеки или примери.
Отвъд това, че съкращаванията ти са малко неконсистентни (щом "symb", що не "lett"? :)), удобна конвенция е винаги да поддържаш булевите си променливи позитивни. Тоест,
on_punctuation
вероятно ще ти е по-удобно за работа, отколкотоnot_on_punctuation
. Понеже, във втория случай, редовно ще имашnot_on_punctuation = false
, което значи, че не сме не на пунктуация, иnot_on_punctuation = true
, което значи, че сме не на пунктуация. Двойния негатив може да изтормози човек повече, отколкото е необходимо, особено в 03:57 сутринта :)Тук едва ли ще е по-четимо да сложиш
=>
на нов ред. Можеш и да махнеш къдравите скоби, ако имаш само един statement, така че да получиш:Което мисля, че е по-кратко, и по-четимо.