|
0 / 0 / 3
Регистрация: 02.04.2016
Сообщений: 33
|
||||||
"Совершенный" код05.03.2017, 18:59. Показов 1970. Ответов 9
Здравствуйте. Решил создать эту тему для того, чтобы привить культуру написания кода в процессе обучения. Я буду выкладывать сюда код, и, надеюсь, профессионалы поправят его с учетом общепринятых норм программирования.
Первый вопрос заключается в следующем: Правильно ли создавать свойства прямо в полях класса?
0
|
||||||
| 05.03.2017, 18:59 | |
|
Ответы с готовыми решениями:
9
Совершенный код, год издания для новичков. Совершенный код: грамотность Книга Стива Макконнелла "Совершенный код. Мастер-класс" |
|
|
||
| 05.03.2017, 19:03 | ||
|
Конкретно по вашему коду - запросто словите SatckOverflowException (переполнение стека, из-за рекурсии).
0
|
||
|
0 / 0 / 3
Регистрация: 02.04.2016
Сообщений: 33
|
|
| 05.03.2017, 19:04 [ТС] | |
|
Я похоже оочень сглупил. Тут полей то нет, тут только свойство. Заработался, похоже.
insite2012, спасибо, я понял свою ошибку.
0
|
|
|
|
||||||
| 05.03.2017, 19:05 | ||||||
Сообщение было отмечено SatanaXIII как решение
Решение
Правильно будет так:
1
|
||||||
|
0 / 0 / 3
Регистрация: 02.04.2016
Сообщений: 33
|
||||||
| 05.03.2017, 19:08 [ТС] | ||||||
|
insite2012, только хотел отправить это, но Вы опередили
0
|
||||||
|
0 / 0 / 3
Регистрация: 02.04.2016
Сообщений: 33
|
||||||
| 12.03.2017, 16:15 [ТС] | ||||||
|
Доброго времени суток! Решил написать простую программку для создания двух двумерных массивов, заполнении их рандомными числами и вывода их в консоль. Код работает, проверки на ввод проходит, но, очевидно, что можно сделать лучше. Особенно интересуют замечания на предмет ООП. Заранее спасибо.
0
|
||||||
|
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
|
|
| 12.03.2017, 16:20 | |
|
0
|
|
|
|
|||||||||||||||||||||||||||||||||||
| 12.03.2017, 17:09 | |||||||||||||||||||||||||||||||||||
|
Добавлено через 2 минуты JDFox, кстати, можно метод расширение сделать для строки, является ли строка числом. Мне кажется, что вполне имеет право такой метод на существование в классе string. IsNullOrWhiteSpace есть же, почему же не сделать и для определения число ли в строке. Добавлено через 1 минуту
JDFox, между свойствами нет пустой строки. Подозреваю, что студия показывая кол-во ссылок на методы и свойства создаёт иллюзию, что между ними есть пустая строка. Я считаю, что лепить в одно это как в одну строку писать. Грубое сравнение, но всё же. Добавлено через 8 минут -----------------------------
Добавлено через 1 минуту Внутри метода
Добавлено через 5 минут Думаю, как-то так должно быть (именование оставил исходное):
Хотя в таком случае вообще метод IsDigit не нужен ![]() Добавлено через 46 секунд Теперь единственное, что он дополнительно делает, так это удаляет пробелы Добавлено через 1 минуту Я воспринял класс Proverka, как класс, который можно использовть, так скажем, в любом типе проекта. Если это строго зашито в консольное конкретное приложение, то можно и там что-то выводить, но всё равно как-то сомнительно на мой взгляд это.
1
|
|||||||||||||||||||||||||||||||||||
|
0 / 0 / 3
Регистрация: 02.04.2016
Сообщений: 33
|
|||||||||
| 12.03.2017, 17:17 [ТС] | |||||||||
|
Спасибо за критику. Язык изучаю совсем недавно, не спеша штудирую Шилдта (пока на 300стр)
За заметку про Trim() еще одно огромное спасибо. ![]() Добавлено через 46 секунд Добавлено через 5 минут
0
|
|||||||||
|
|
|||||||||||||
| 12.03.2017, 17:44 | |||||||||||||
|
Добавлено через 2 минуты Что-то типа этого. Да, можно использовать Action<string>, но в этом случае при автогенерации обработчика параметр метода обработчика будет называться уж точно не text.
По идее ещё нужно вытаскивать сообщение "Введено не число!" из другого класса по ключу, который будет уже возвращать текст для определённой локализации. Но это уже дебри , пока и так сойдёт.Добавлено через 1 минуту
Меня всё равно не покидает чувство, что что-то здесь не так ![]() Добавлено через 24 секунды В простом проекте это всё излишества. Добавлено через 2 минуты Например, я считаю, что класс Matrix тоже не должен ничего на консоль выводить. По хорошему я бы написал интерфейс и реализацию этого интерфейса вывода матрицы. Можно было бы реализовывать интерфейс и выводить матрицу разными способами. Добавлено через 52 секунды Тут вообще от контекста зависит. Можно просто в классе Demo написать метод, который на вход получает класс Matrix и выводит как-то на экран эту матрицу. Но матрица, в которой есть вывод на консоль как-то неправильно уж точно. Не её это задача. Добавлено через 6 минут Код запроса на ввод данных должен быть один, например, в виде метода, который принимает на вход сообщения, которые нужно показать пользователю. И, к примеру, в этом методе так же будет зашитое сообщение "Введено не число!". В таком случае у нас не дублируется код, и не нужно это сомнительное событие в классе Proverka, этот класс вообще не нужен в этом случае.
0
|
|||||||||||||
| 12.03.2017, 17:44 | |
|
Помогаю со студенческими работами здесь
10
Макконнелл "Совершенный код" совершенный год совершенный дуб, но надо разобраться. пожалуйста Составить программу получения всех совершенный чисел, меньших заданного числа N Дан код на Яве, нужно: а) придумать куда в этот код втулить JTextField, б) проверить данный код на наличие ошибок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|