Перейдем сразу к делу, просматривая GitHub, я нашел очень интересный проект по адресу:
по имени "Рекомендации по написанию нежелательного кода«Посмотрите на название, я действительно убежден. Автор также очень внимателен, объясняя важность правильного написания формата кода с точки зрения негативных учебных материалов. Автор использует пример кода, написанный на JavaScript, и я переделываю его в Java-версию и перевел ее на китайский язык в своем родном стиле, надеюсь, вам понравится.
💩 Называйте переменные так, чтобы код запутывался.
Чем короче имя, тем больше времени требуется, чтобы подумать о таких вещах, как логика кода.
Хорошо 👍🏻
int a = 42;
Плохо 👎🏻
int age = 42;
💩 Непоследовательный стиль именования переменных/методов
Приветствую разобщение стиля.
Хорошо 👍🏻
int wWidth = 640;
int w_height = 480;
Плохо 👎🏻
int windowWidth = 640;
int windowHeight = 480;
💩 Нет комментариев
Все равно никто не сможет прочитать ваш код.
Хорошо 👍🏻
int cdr = 700;
Плохо 👎🏻
ПРИМЕЧАНИЕ должны содержать некоторые «почему», а не какое-то «что». Если код: «Что», неясно, этот код слишком плохо.
// 700ms 的数量是从 UX A/B 测试结果中得到的一个经验值。
// @查看: <详细解释 700 的一个链接>
int callbackDebounceRate = 700;
💩 Пишите заметки на своем родном языке
Если ваш родной язык английский, игнорируйте это правило.
Хорошо 👍🏻
// Закриваємо модальне віконечко при виникненні помилки.
toggleModal(false);
Плохо 👎🏻
// 隐藏错误弹窗
toggleModal(false);
PS: Если ваши навыки письма на английском языке не очень сильны, рекомендуется использовать ваш родной язык. В конце концов, быть ясным лучше, чем быть неясным.
💩 Непоследовательный стиль объявления переменных
И снова тост за разобщенность стилей.
Хорошо 👍🏻
String [] i1 = {"沉", "默", "王", "二"};
String i2 [] = {"沉", "默", "王", "三"};
Плохо 👎🏻
String [] wanger = {"沉", "默", "王", "二"};
String wangsan [] = {"沉", "默", "王", "三"};
💩 Пишите код как можно больше в одну строку
Хорошо 👍🏻
IntStream.range(1, 5).boxed().map(i -> { System.out.print("Happy Birthday "); if (i == 3) return "dear NAME"; else return "to You"; }).forEach(System.out::println);
Плохо 👎🏻
for (int i = 1; i < 5; i++) {
System.out.println("Happy Birthday " + (i == 3 ? "dear NAME" : "to you"));
}
💩 Игнорировать дезинформацию
Всякий раз, когда обнаружена ошибка, нет необходимости сообщать об этом другим.
Хорошо 👍🏻
try {
// 意料之外的情况。
} catch (error) {
// tss... 🤫
}
Плохо 👎🏻
try {
// 意料之外的情况。
} catch (error) {
// and/or
logError(error);
}
💩 Используйте большое количество глобальных переменных
принципы глобализации.
Хорошо 👍🏻
int x = 5;
void multi() {
x = x * 2;
}
multi(); // 现在 x 是 10
Плохо 👎🏻
int x = 5;
int multi(int num) {
return num * 2;
}
x = multi(x); // 现在 x 是 10
💩 Объявить переменные, которые вообще никогда не будут использоваться
Что, если он будет использован позже? так, на всякий случай.
Хорошо 👍🏻
int sum(int a, int b, int c) {
int timeout = 1300;
int result = a + b;
return a + b;
}
Плохо 👎🏻
int sum(int a, int b) {
return a + b;
}
💩 Никогда не указывайте тип, если позволяют условия.
Хорошо 👍🏻
// 享受便捷的快乐
List list = new ArrayList();
list.add("沉默王二");
list.add(18);
Плохо 👎🏻
List<String> nameList = new ArrayList<String>();
// 编译出错
nameList.add(18);
💩 Бесполезный код
Это выглядит более строго, но на самом деле это избыточно.
Хорошо 👍🏻
Integer multi(Object num) {
if (!(num instanceof Integer)) {
return null;
} else if (num != null) {
return (Integer) num * 2;
}
return null;
}
Плохо 👎🏻
Integer multi(Object num) {
if (num instanceof Integer) {
return (Integer) num * 2;
}
return null;
}
💩 Много вложений if-else
Хорошо 👍🏻
void someMethod(int a, int b, int c) {
if (a > 0) {
if (b > 0) {
if (c > 0) {
int result = a / b / c;
}
}
}
}
Плохо 👎🏻
void someMethod1(int a, int b, int c) {
if (a < 0 || b < 0 || c < 0) {
return;
}
int result = a / b / c;
}
💩 Рваные углубления
Неравномерность – источник счастья.
Хорошо 👍🏻
String [] wanger = {"沉",
"默", "王", "二"};
String [] wangsan = {"沉", "默", "王", "三"};
Arrays.asList(wanger).stream().
forEach(System.out::println);
Arrays.asList(wangsan).
stream().
forEach(System.out::println);
Плохо 👎🏻
String [] wanger = {"沉", "默", "王", "二"};
String [] wangsan = {"沉", "默", "王", "三"};
Arrays.asList(wanger)
.stream()
.forEach(System.out::println);
Arrays.asList(wangsan)
.stream()
.forEach(System.out::println);
💩 менее хорош, чем метод еще несколько строк кода
Не делите логику кода на читаемую часть.
- Количество строк кода в классе превышает 10 000 строк.
- Количество строк кода в методе превышает 1000 строк.
- Метод выполняет как вычитание, так и сложение, а также умножение и деление.
💩 Не тестируйте свой код
Тестирование кода — дело инженера-испытателя, а не мое.
💩 Избегайте форму стиля кодирования
Напишите код, как вы хотите, особенно в случае нескольких разработчиков в команде, я защищаю «свободу».
💩 Не пишите документацию
Не делайте этого с самого начала.
💩 Не удаляйте устаревший код
Хоть код и заброшен, достаточно его закомментировать, удалять не надо.
Ладно, ребята, есть что еще добавить?
Друзья, которым нравится посещать GitHub, могут щелкнуть следующий адрес, чтобы перепрыгнуть, чтобы проверить его, я отправил его:
Кроме того, я рекомендую еще один проект, который содержит список книг, которые часто читают Java-программисты, чтобы помочь вам построить самую сильную систему знаний, и не возвращайтесь, когда вы не можете пропустить это. Но не ограничиваясь Java, включая шаблоны проектирования, компьютерные сети, операционные системы, базы данных, структуры данных и алгоритмы, большие данные, архитектуру, управление и многое другое.
Друзья также могут пойти в звезду. Привет четверг,Не забудьте поставить лайк, чтобы восстановить наши традиционные достоинства!