https://github.com/Spacier829/Hangman
Ревью от Ильи
Привет!
-
Для статичных переменных имя поля обычное, для статичных и final (константы) с большой буквы. https://github.com/Spacier829/Hangman/blob/8f774da19f485cc22b308817a271635cfe3db1aa/src/Main.java#L6-L26
-
Жёстко, лучше было string-ой сделать через """ в новых версиях java или через stringbuilder в 8 версии. Аргумент кста почему-то в стиле константы указан. И здесь switch больше по смыслу подходит, желательно если на новых версиях java, то использовать и более красивую версию через "->". https://github.com/Spacier829/Hangman/blob/8f774da19f485cc22b308817a271635cfe3db1aa/src/Main.java#L177-L256
-
Очень длинные местами названия методов - "createMaskedWordWithOneHelpLetter", "selectRandomWordFromDictionary", "openLettersInMaskedWord".
-
Противоречие дикларируемому и фактическому - там могут быть строки. https://github.com/Spacier829/Hangman/blob/8f774da19f485cc22b308817a271635cfe3db1aa/src/Main.java#L24C1-L26C7 Вот здесь это чекается чтобы строки били в одну букву, но тогда почему строку не конвертнуть в char и работать с char. Для коллекций есть обертка Character. https://github.com/Spacier829/Hangman/blob/8f774da19f485cc22b308817a271635cfe3db1aa/src/Main.java#L142C1-L143C21
-
Из пункта выше, надо проверить на словах с несколькими буквами, так как сет не учитывает кол-во вхождений букв. Для этого можно использовать Map<Character, Integer>/