КОД
public static final String PAGE =“jsp\\main.jsp”;
Если имя константы состоит из двух слов, то они разделяются символом «подчеркивание»
public static final int MAX_VALUE =71;
package com.epam.auto.common;
if(str != null && str.equals(“test”)){
…
}
Переменную поменять местами с константой:
if(“test”.equals(str)){
…
}
String s = "";
for (int i = 0; i < count; i++) {
s += array[i];
}
return s;
Использовать
StringBuilder sb = new StringBuilder(estimatedCount);
for (int i = 0; i < count; i++) {
sb.append(array[i]);
}
return sb.toString();
if(“white”.equals(name)){
…
}else
if(“black”.equals(name)){
…
}else
if(“gray”.equals (name)){
…
}
В Java 1.5 и выше заменять лесенку if-else на взаимодействие перечисления (enum) и оператора switch-case
enum Mono { WHITE, BLACK, GRAY }
…
String str = "WHITE";
Mono mono = Mono.valueOf(str);
// …
switch (mono) {
case WHITE : // …
break;
case BLACK : // …
break;
case GRAY : // …
break;
default :
throw new
EnumConstantNotPresentException(Mono.class, mono.name());
}
if(n == 0){
a++;
}
String path1 = getServlet().getServletConfig().getServletContext().getRealPath(“1.txt”);
String path2 = getServlet().getServletConfig().getServletContext().getRealPath(“2.txt”);
int version = getServlet().getServletConfig().getServletContext().getMinorVersion();
должен быть переработан в вид:
ServletContext servletContext = getServlet()
.getServletConfig().getServletContext();
String path1 = servletContext.getRealPath(“1.txt”);
String path2 = servletContext.getRealPath(“2.txt”);
int version = servletContext.getMinorVersion();
Причем значения, которые не изменяются во время работы приложения такие как, например realPath должны вычисляться один раз и вынесены в статические переменные.
Connection con = null;
PreparedStatement preparedstatement = null;
Resultset resultset = null;
try {
con = db.getConnection(true);
preparedstatement = con.prepareStatement("SELECT xxx WHERE ID = ?");
resultset = preparedstatement.executeQuery();
…
}
catch (Exception e)
{
// Do error handing here
}
finally {
if (resultset != null)
try {
resultset.close();
} catch (SQLException e) {}
if (preparedstatement != null)
try {
preparedstatement.close();
} catch (SQLException e) {}
if (con != null){
db.releaseConnection(con);
}
}
XML
§ Названия элементов XML не должны содержать данные самого XML.
§ Названия элементов должны быть записаны в нижнем регистре? н-р <student>
§ Если название состоит из двух слов, то в качестве разделителя следует использовать дефис: н-р: <servlet-mapping>
§ Избегать ненужных вложенностей.
<shop>
<products>
<product>…</product>
…
<product>…</product>
</products>
</shop>
XSD
§ Правила для элементов, атрибутов XML должны задаваться как можно точнее, избегая тем самым возможности на ошибку пользователя.
§ Стараться описывать типы отдельно избегая большой вложенности XSD элементов.
web
§ Проверки значений web приложения, которые не требуют серверной обработки, должны осуществляться на клиентской стороне посредством JavaScript. Сообщения об ошибках должны точно указывать на проблему и формат вводимых данных на той же самой странице редактирования. Confirmation также должен содержать недвусмысленный текст так например вопрос Are you sure? не содержит основания вопроса.
§ Стили и Javascript код должны быть вынесены в отдельные файлы css, js , которые кэшируются браузером, тем самым уменьшая объем передаваемой страницы и повышая возможность поддержки кода в дальнейшем.
§ Страницы редактирования данных должны содержать кнопки Cancel в то время как простой просмотр информации для возвращения на предыдущую страницу должен содержать кнопки Back. Back должен обрабатываться на серверной стороне избегая использование history.back.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.