Вопросы по оператору return

Статус
В этой теме нельзя размещать новые ответы.

FoviOX

Разработчик
Пользователь
Сообщения
44
Решения
2
Привет всем кодерам. Появились вопросы на счёт оператора return. Может ли return как-то оптимизировать код?
Так как я декопилирую разные заброшенные плагины, я нахожу интересные методы написания кода.
Например:
Вам необходимо зарегистрироваться для просмотра изображений-вложений
Вам необходимо зарегистрироваться для просмотра изображений-вложений

Вообще кроме экономии места, есть какие-то различии, например по оптимизации?


Как повлияет постоянное вписывание оператора return в конце метода?
Например:
Вам необходимо зарегистрироваться для просмотра изображений-вложений
Вам необходимо зарегистрироваться для просмотра изображений-вложений



Ну и на данный момент последний вопрос можно ли засунуть return в if который в одной строке?
Например:
Вам необходимо зарегистрироваться для просмотра изображений-вложений
 

Вложения

  • Screenshot_46.jpg
    Screenshot_46.jpg
    10.8 KB · Просмотры: 0
  • Screenshot_45.jpg
    Screenshot_45.jpg
    9.9 KB · Просмотры: 0
Решение
Да нет, совет на самом деле хороший. Таких вопросов просто не должно возникать, вот и всё.
Взять только первый пример из поста. Какой смысл разбирать, анализировать и запоминать это? Код сводится к простому:
Java:
public boolean hasName() {
   return name != null && !name.equals("");
}
Второе. Нет смысла ставить return каждый раз, если это конец кода. IntelliJ IDEA, например, даже подскажет тебе, что он лишний, и его можно убрать.
Третье… Можно, как и любое другое действие. Проблема в том, что у тебя в примере 2 строки (для первой ты не прописал ; в конце, о чём тебе напоминает твой IDE).
Ты не вынесешь особой пользы, изучая декомпилированный код заброшенных плагинов.
И желательно сначала подучить хотя бы основы, и уже потом...
?‍♂️

Как насчёт поучить Java? ?
В каком смысле? Я задаю вопрос. Как лучше писать код? Мне отвечают типичным сообщением "Поучи Java". Как я понял, что тут кто-то не внимательный. И для не внимательных, я знаю что делает оператор return, вопрос был в другом.
 
Я ждал этого ответа!
Что вы ждали? Когда кто-то напишет типичное сообщение "Поучи Java"? Будет очень обидно если аудитория форума будет в большинстве состоять из таких sosedik'ов. Я создал эту тему чтобы получить ответы на мои вопросы, а не посмотреть на людей которые отвечают на вопрос темы, вопросом! А вы ещё таких поддерживаете.
 
Да нет, совет на самом деле хороший. Таких вопросов просто не должно возникать, вот и всё.
Взять только первый пример из поста. Какой смысл разбирать, анализировать и запоминать это? Код сводится к простому:
Java:
public boolean hasName() {
   return name != null && !name.equals("");
}
Второе. Нет смысла ставить return каждый раз, если это конец кода. IntelliJ IDEA, например, даже подскажет тебе, что он лишний, и его можно убрать.
Третье… Можно, как и любое другое действие. Проблема в том, что у тебя в примере 2 строки (для первой ты не прописал ; в конце, о чём тебе напоминает твой IDE).
Ты не вынесешь особой пользы, изучая декомпилированный код заброшенных плагинов.
И желательно сначала подучить хотя бы основы, и уже потом баловаться с Bukkit API. Тогда, уверен, ты без проблем разберёшься с вопросами такого типа сам.
 
Да нет, совет на самом деле хороший. Таких вопросов просто не должно возникать, вот и всё.
Взять только первый пример из поста. Какой смысл разбирать, анализировать и запоминать это? Код сводится к простому:
Java:
public boolean hasName() {
   return name != null && !name.equals("");
}
Второе. Нет смысла ставить return каждый раз, если это конец кода. IntelliJ IDEA, например, даже подскажет тебе, что он лишний, и его можно убрать.
Третье… Можно, как и любое другое действие. Проблема в том, что у тебя в примере 2 строки (для первой ты не прописал ; в конце, о чём тебе напоминает твой IDE).
Ты не вынесешь особой пользы, изучая декомпилированный код заброшенных плагинов.
И желательно сначала подучить хотя бы основы, и уже потом баловаться с Bukkit API. Тогда, уверен, ты без проблем разберёшься с вопросами такого типа сам.
Вот теперь, спасибо. Иногда непонятны какие-то простые вещи в Java, ищешь в интернете, не находишь задаёшь вопрос тебе отвечают: "Учи Java", как-то обидно получается. Я раньше сидел на рубукките и смотрел темы где задают вопросы, и только кто-то создаёт тему "вопрос по написанию плагинов", сразу набегает какой-то человек и пишет "Учи Java". А этот человек мог написать не "Учи Java" хотя бы кинуть ссылку на сайт где создатель темы мог узнать решение вопроса. В общем надеюсь здесь на форуме не будет таких людей, которые без объяснений будут писать "Учи Java".
 
[OFFTOPIC]Как ты себе это вообще предполагаешь? Конструкция и архитектура кода держится на return? Для оптимизации кода нужно думать а не писать бред. Лучше учи ООП и SOLID.
public boolean hasName() { return name != null && !name.equals(""); }
Зачем? "return Objects.nonNull(name);"[/OFFTOPIC]
 
Последнее редактирование модератором:
[OFFTOPIC]
Зачем? "return Objects.nonNull(name);"
Затем. Для обычной проверки на null это лишнее.
К тому же, посмотри на первый пост: там явно указано, что пустая строка тоже должна считаться за false.[/OFFTOPIC]
 
Последнее редактирование модератором:
[OFFTOPIC]
Затем. Для обычной проверки на null это лишнее.
К тому же, посмотри на первый пост: там явно указано, что пустая строка тоже должна считаться за false.
Edit: "" возвращает всё так же null. К чему эти костыли?[/OFFTOPIC]
 
Последнее редактирование модератором:
Edit: "" возвращает всё так же null. К чему эти костыли?
Не неси бред, пустая строка никак не равна null.
И почему бы не глянуть в доки? Метод может быть полезен при работе с потоками, но здесь костыль у тебя.
 
Не неси бред, пустая строка никак не равна null.
И почему бы не глянуть в доки? Метод может быть полезен при работе с потоками, но здесь костыль у тебя.
Да. Перепутал.
1) У строки есть метод isEmpty который был введён с 1.6. Вопрос все еще остался, смысл костылить?
2) При какой работе с потоками ору? Будешь синхронизировать поток с помощью метода строки?)
 
@0x000cb, @SoSeDiK, Как это относится к теме?
556
557
Смотри внимательнее тему.
Объединено

P.S И без костылей с учётом того что есть готовые реализации правильный код будет выглядить вот так. (blank ввели в 11 jdk, но 1.13 поддерживает его, не вижу смысла сидеть на старой 1.8)
Java:
public boolean isExists() {
   return Objects.nonNull(name) && !name.isBlank();
}
 
Последнее редактирование:
@0x000cb
Посмотри на реальные примеры использования Objects.nonNull() в Интернете, не стоит прописывать его везде. Ты просто добавляешь лишний импорт. И да, потоки. 'filter(Objects::nonNull)' визуально лучше и понятнее, чем 'filter(x -> x != null)'.
Если плагин для паблика (или "обычного" хостинга), то лучше пока использовать 8, могут возникнуть проблемы.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу