Вопросы с тегом «java»

52
Является ли использование лямбда-выражений, когда это возможно, в java хорошей практикой?

Недавно я освоил лямбда-выражение, которое было введено в java 8. Я обнаружил, что всякий раз, когда я использую функциональный интерфейс, я склонен всегда использовать лямбда-выражение вместо создания класса, реализующего функциональный интерфейс. Это считается хорошей практикой? Или их ситуации,...

51
Почему у Java есть `void` методы?

Нужно ли / почему Java иметь voidметоды? Ссылка : Любой метод, объявленный как void, не возвращает значение. Насколько я могу судить, каждое использование voidбыло бы лучше обслуживать, возвращая флаг состояния, вызываемый объект или null. Это сделало бы каждый вызов оператором, который можно...

51
Разумно ли спрашивать о дизайнерских решениях, принятых для продукта во время интервью? [закрыто]

В последнее время я думал о вопросах интервью и размышлял о неудачном опыте интервью, который у меня был в прошлом. Особо следует отметить, когда я спросил интервьюера, почему команда решила использовать EJB 3 вместо Spring в своем продукте. Интервьюер в значительной степени оторвал мое лицо,...

51
Как мне убедить моих товарищей по команде, что мы не должны игнорировать предупреждения компилятора?

Я работаю над огромным проектом (больше похожим на запутанную комбинацию десятков мини-проектов, которые не могут быть легко разделены из-за плохого управления зависимостями, но это другое обсуждение) в Java с использованием eclipse. Мы уже отключили ряд предупреждений в настройках компилятора, и в...

50
Почему == оператор сравнения значений строк не попал в Java?

Каждый компетентный Java-программист знает, что вам нужно использовать String.equals () для сравнения строки, а не ==, потому что == проверяет равенство ссылок. Когда я имею дело со строками, большую часть времени я проверяю равенство значений, а не ссылочное равенство. Мне кажется, что было бы...

50
Почему C ++ имеет «неопределенное поведение» (UB), а другие языки, такие как C # или Java, не имеют?

В этом посте с переполнением стека приведен довольно полный список ситуаций, в которых спецификация языка C / C ++ объявляется как «неопределенное поведение». Однако я хочу понять, почему в других современных языках, таких как C # или Java, нет понятия «неопределенное поведение». Означает ли это,...

50
Я не понимаю, как TDD помогает мне получить хороший дизайн, если мне нужен дизайн, чтобы начать его тестировать

Я пытаюсь обернуть голову вокруг TDD, особенно в части разработки. Я посмотрел некоторые книги, но те, которые я нашел, в основном касаются части тестирования - История NUnit, почему тестирование хорошо, Red / Green / Refactor и как создать String Calculator. Хорошие вещи, но это "просто" модульное...

49
Что не так с дженериками Java? [закрыто]

Я несколько раз видел на этом сайте сообщения, которые осуждают реализацию обобщений в Java. Теперь я могу честно сказать, что у меня не было проблем с их использованием. Тем не менее, я не пытался сделать общий класс самостоятельно. Итак, какие у вас проблемы с общей поддержкой...

49
Почему плохая идея создать универсальный сеттер и геттер с отражением?

Некоторое время назад я написал этот ответ на вопрос о том, как избежать использования методов получения и установки для каждой изменяемой переменной. В то время у меня было только трудно понять, что это плохая идея, но ОП явно спрашивал, как это сделать. Я искал здесь, почему это может быть...

49
Можем ли мы использовать Java для коммерческого использования?

Java является лицензией GPL (ссылка из Википедии). Я не уверен, что смогу использовать его в коммерческих проектах. У меня уже есть веб-сайт, написанный на Java, и я планирую использовать его для коммерческого использования. Это...

49
Когда «правильное» программирование больше не имеет значения?

В свободное время я создаю игру для Android. Он использует библиотеку libgdx, так что довольно много работы для меня сделано. Разрабатывая, я небрежно выбирал типы данных для некоторых процедур. Я использовал хеш-таблицу, потому что хотел что-то близкое к ассоциативному массиву. Человекочитаемые...

49
Обходной путь для проверенных исключений Java

Я высоко ценю новые функции Java 8, касающиеся лямбд и интерфейсов методов по умолчанию. Тем не менее, я все еще скучаю с проверенными исключениями. Например, если я просто хочу перечислить все видимые поля объекта, я хотел бы просто написать это: Arrays.asList(p.getClass().getFields()).forEach( f...

48
Что является лучшей практикой - вспомогательные методы как экземпляры или статические?

Этот вопрос субъективен, но мне было просто любопытно, как к этому подходит большинство программистов. Пример ниже приведен на псевдо-C #, но это также должно относиться к Java, C ++ и другим языкам ООП. В любом случае, когда я пишу вспомогательные методы в моих классах, я склонен объявлять их как...

48
Что может быть недостатком для определения класса как подкласса списка самого себя?

В моем недавнем проекте я определил класс со следующим заголовком: public class Node extends ArrayList<Node> { ... } Однако, после обсуждения с моим профессором CS, он заявил, что урок будет «ужасным для памяти» и «плохой практикой». Я не обнаружил, что первое особенно верно, а второе...

47
Почему метод не должен выдавать несколько типов проверенных исключений?

Мы используем SonarQube для анализа нашего Java-кода, и у него есть следующее правило (установлено как критическое): Публичные методы должны выдавать не более одного проверенного исключения Использование проверенных исключений вынуждает вызывающие методы обращаться с ошибками, распространяя их или...

46
Лучше проверить `c> = '0'` или` c> = 48`?

После обсуждения с некоторыми моими коллегами у меня возник «философский» вопрос о том, как относиться к типу данных char в Java, следуя рекомендациям. Предположим, что простой сценарий (очевидно, это всего лишь очень простой пример, чтобы придать практический смысл моему вопросу), где, учитывая в...

46
Будучи разработчиком на C #, научитесь ли вы разрабатывать Java для Android или использовать вместо этого MonoDroid? [закрыто]

Я считаю себя довольно хорошо разбирающимся в C #. Это мой любимый язык на данный момент, и в этом весь мой профессиональный опыт. Тем не менее, я озадачен существованием проекта MonoDroid . Я всегда понимал, что C # и Java очень близки. Мол, если вы знаете одно, вы можете выучить другое очень...

46
Хорошая или плохая практика маскировать коллекции Java значимыми именами классов?

В последнее время у меня была привычка «маскировать» коллекции Java с понятными для человека именами классов. Несколько простых примеров: // Facade class that makes code more readable and understandable. public class WidgetCache extends Map<String, Widget> { } Или же: // If you saw a...