Если вы повторяете себя, например, копируете и вставляете, вы делаете это неправильно. Java является ОО-языком, используйте его таким образом.
Если вы не используете шаблоны проектирования, вы заново изобретаете колесо. Удивительно, сколько проблем лучше всего решить с помощью оригинальных шаблонов дизайна GOF. Только после просмотра вы должны сделать что-то другое.
Сохраняйте имена методов длинными, имена параметров описательными, а методы - короткими. Это немного субъективно, но чем больше вы разбиваете на части, тем легче исправить и повторно использовать код. Если вы не можете объяснить, что ваш метод делает в предложении, у вас либо обычно сложная проблема, либо, скорее всего, ваши методы пытаются сделать слишком много.
Избегайте того, чтобы каждый объект делал слишком много. Посмотрите на имена на ваших объектах. Если в объекте есть методы, которые не связаны с именем объекта, переместите их туда, где они могут принадлежать.
Перегрузка методов хороша, и она может спасти вас от повсеместного набора типов.
Постарайтесь не быть «умным» таким образом, чтобы затруднить понимание написанного вами кода. Используйте как можно больше встроенных функций языка (например, итераторов). Сделайте самое простое, что может сработать. Вы будете благодарить себя позже.
Контроль версий необходим, даже если вы один разработчик, работающий в одиночку. Это спасло мою шею больше, чем я могу сосчитать.
После начальной отладки ничто не должно быть жестко закодировано. Для элементов, используемых в приложении, таких как среда и связанные сообщения, сохраняйте в базе данных как можно больше элементов. Если вы думаете, что эти элементы никогда не изменятся, используйте файлы свойств и глобальный java-файл для вещей, которые, как вы убеждены, никогда не изменятся, потому что они будут.
Автоматически форматируйте ваш код, используя вашу IDE, даже если это делает вас уродливым, в конечном итоге вам все равно будет лучше.
Если для чего-то существует хорошо известная и надежная структура, используйте ее. JSF или Struts будут лучше, чем все, что вы могли бы разработать самостоятельно, даже если вы думаете, что ваш собственный MVC-фреймворк действительно классный. То же самое с настойчивостью, используйте что-то основное. Старайтесь использовать как можно меньше или один фреймворк, когда это возможно. Вы можете удивить своих друзей тем, что они используют проект Spring, Shale, JSF, Struts, использующий Hibernate, вместе с другими разработанными вами фреймворками, но на самом деле это просто сложность ради сложности.