Java с нуля - Полный Курс Java Для Начинающих [4,5 ЧАСА]
🖥 20 приемов работы на Java, которые помогут вам улучшить качество кода Вашему вниманию предлагается набор рекомендаций, соблюдение которых поможет улучшить качество вашего Java-кода. 1. По возможности отдавайте предпочтение примитивам, а не классам-оболочкам Long idNumber; long idNumber; // long занимает меньше памяти, чем Long 2. Попробуйте использовать подходящий тип для вашей переменной Если два или более типов удовлетворяют вашим функциональным потребностям, используйте тот тип, который занимает меньше места в памяти. int birthYear; short birthYear; // лучше, потому что год рождения не может быть пятизначным int personRunningSpeedKmHour; byte personRunningSpeedKmHour; // лучше, потому что скорость движения человека ограничена 3. При проверке нечетности числа побитовый оператор AND намного быстрее, чем арифметический оператор по модулю public boolean isOdd(int num) { return (num & 1) != 0; } // лучший способ проверить нечетность числа 4. Избегайте избыточной инициализации (0, false, null..) Не инициализируйте переменные с их инициализацией по умолчанию, например, boolean по умолчанию имеет значение false, поэтому избыточно инициализировать его значением false. String name = null; // избыточно int speed = 0; // избыточно boolean isOpen = false; // избыточно String name; int speed; boolean isOpen; // те же значения в более чистом коде 5. Объявляйте членов класса закрытыми везде, где это возможно, и всегда давайте модификатору доступа максимально ограниченный доступ public int age; // очень плохо int age; // плохо private int age; // хорошо 6. Избегайте использования ключевого слова “new” при создании строки String s1 = new String("AnyString") ; // плохая реализация // Конструктор создает новый объект и добавляет литерал в кучу String s2 = "AnyString" ; // хорошо: быстрое создание экземпляра // Этот ярлык ссылается на элемент в пуле строк и создает новый объект, только если литерал отсутствует в пуле строк. 7. Для объединения нескольких строк используйте StringBuilder или StringBuffer вместо использования оператора + Оператор + неэффективен, поскольку компилятор Java создает несколько промежуточных объектов String перед созданием окончательной объединенной строки. StringBuilder или StringBuffer изменяют String без создания промежуточных объектов String. String address = streetNumber +" "+ streetName +" " +cityName+" "+cityNumber+" "+ countryName; // плохо StringBuilder address = new StringBuilder(streetNumber).append(" ") .append(streetName).append(" ").append(cityName).append(" ") .append(cityNumber).append(" ").append(countryName); // хорошо Учтите, что StringBuilder не потокобезопасен, не синхронизирован, но он быстрее, чем StringBuffer, который потокобезопасен и синхронизирован. 8. Используйте подчеркивание в числовых литералах int myMoneyInBank = 58356823; int myMoneyInBank = 58_356_823; // лучше читаемый код long billsToPay = 1000000000L; long billsToPay = 1_000_000_000L; // лучше читаемый код 9. Избегайте использования “for loop” с индексами Не используйте for loop с переменной индекса (или счетчика), если вы можете заменить его расширенным циклом for (начиная с Java 5) или forEach (начиная с Java 8). Это связано с тем, что переменная индекса подвержена ошибкам, поскольку мы можем случайно изменить ее в теле цикла или начать индекс с 1 вместо 0. for (int i = 0; i < names.length; i++) { saveInDb(names[i]); } for (String name : names) { saveInDb(name); } // более чистый код 10. Заменяйте try-catch-finally на try-with-resources Scanner scanner = null; try {scanner = new Scanner(new File("test.txt")); while (scanner.hasNext()) {System.out.println(scanner.nextLine());}} catch (FileNotFoundException e) {e.printStackTrace();} finally {if (scanner != null) {scanner.close();}} // подвержено ошибкам, так как мы можем забыть закрыть сканер в блоке finally try (Scanner scanner = new Scanner(new File("test.txt"))) {while (scanner.hasNext()) {System.out.println(scanner.nextLine());}} catch (FileNotFoundException fnfe) {fnfe.printStackTrace();} // чище и более лаконично ▪Читать дальше
Программирование на Java: 10 библиотек, которые упрощают жизнь разработчику
Java — язык мощный, но иногда писать на нём может быть утомительно. К счастью, есть библиотеки, которые делают рутину проще, код — чище, а разработчика — счастливее. Вот список must-have инструментов, которые помогут писать быстрее и эффективнее. Эти библиотеки — как швейцарский нож: не заменяют язык, но делают его в разы удобнее...