|
2 / 2 / 0
Регистрация: 11.02.2015
Сообщений: 16
|
||||||
CodeReview16.03.2017, 12:33. Показов 4018. Ответов 30
Метки нет (Все метки)
Пожалуйста, сделайте ревью кода, приведенного ниже, для методов в классе и предложите варианты решений для проблем, которые вы увидите.
1
|
||||||
| 16.03.2017, 12:33 | |
|
Ответы с готовыми решениями:
30
Codereview для моего гитхаба Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
|
||
| 17.03.2017, 17:41 | ||
|
0
|
||
|
84 / 84 / 42
Регистрация: 25.01.2010
Сообщений: 386
|
|
| 17.03.2017, 19:36 | |
|
0
|
|
|
82 / 82 / 32
Регистрация: 17.02.2016
Сообщений: 226
|
|
| 18.03.2017, 15:18 | |
|
Бегло почитал комментарии, но признаться сути решения я не уловил.
DreamexX, первая и основная проблема этого кода в том, что это код на C#, а не на джава. Почему вы опубликовали это в топике по Java - для меня абсолютная загадка. Вторая проблема - метод Parse. В нём нет смысла. Третья проблема - метод Concat. В C#, как и в Java, нельзя так работать со строками в цикле, так как они immutable. Нужно использовать StringBuilder или StringBuffer.
2
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 18.03.2017, 16:51 | |
|
FatNinja, с чего вы взяли что код не на Джава?
0
|
|
|
82 / 82 / 32
Регистрация: 17.02.2016
Сообщений: 226
|
|
| 18.03.2017, 17:43 | |
|
KEKCoGEN,
1. Используются xml-комментарии для "автодокументации" кода - они начинаются с ///, подсвечиваются IntelliSense, грубо говоря аналог javaDoc в ДотНете. Вот статья обзорная: https://habrahabr.ru/post/41514/; 2. Используется дотнетовский CodeConvension - именование методов с аппер-кейса: Parse, Concat, ToString; 3. Используются дотнетовские "методы расширения" для примитивных типов (int.Parse), в джава вообще ничего подобного нет (хвала создателям );4. Используется дотнетовское объявление строк и объектов с ловеркейса (string, object); 5. Используются дотнетовский, а не джаванский стиль расстановки скобок; 6. Используется дотнетовский стиль получения свойства объекта (lines.Length), в джаве такого также нет.
3
|
|
| 18.03.2017, 18:13 | |
|
Не по теме: :rofl:
0
|
|
|
2 / 2 / 0
Регистрация: 11.02.2015
Сообщений: 16
|
|||
| 18.03.2017, 18:47 [ТС] | |||
|
FatNinja, все верно.
Вот что они написали:
0
|
|||
|
82 / 82 / 32
Регистрация: 17.02.2016
Сообщений: 226
|
||||||
| 18.03.2017, 19:59 | ||||||
Сообщение было отмечено DreamexX как решение
Решение
DreamexX, я уже написал выше (в своём первом сообщении) о проблемах, которые вижу - добавить нечего.
Если нужно именно переписать, отрефакторить и отправить результат на джава, а не просто описать: - исправь указанные ранее проблемы; - поменяй описание методов на javaDoc; - используй джаванский code convension(именование, скобки); - укажи нормальное название класса, вроде Common или Helper - текущее CodeReview не говорит ровным счётом ни о чём. Добавлено через 59 минут DreamexX, вот моя версия результата: parse не имеет смысла, так как он уже есть в стандартной библиотеке. То описание, которое приложено в исходном коде на C# (возвращать 0 в случае неверного значение) - говнокод, который добавляет к методу сайд-эффект. Имхо, это плохо и не стоит так делать - лучше отлавливать это в catch, как у меня. ps: Да - это задание для самых начинающих.
2
|
||||||
|
2 / 2 / 0
Регистрация: 11.02.2015
Сообщений: 16
|
|
| 18.03.2017, 20:54 [ТС] | |
|
1
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 18.03.2017, 23:58 | |
|
1
|
|
|
82 / 82 / 32
Регистрация: 17.02.2016
Сообщений: 226
|
|
| 19.03.2017, 00:08 | |
|
xoraxax, и вправду, спасибо, не знал - нововведения 8 java пока глубоко не изучал.
Но в контексте именно этой задачи - метод всё-таки может имеет смысл, как как сигнатура метода join подразумевает разделитель, а здесь просто контенкация. Да и код может быть легаси, 7-ка или старше ![]() А метод parse - полностью дублирует вызов метода valueOf.
0
|
|
|
Новые блоги и статьи
|
|||
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|