LINUX.ORG.RU

[JAVA] Как научиться правильно писать?

 


0

4

Здравствуйте. Не могу никак войти в ООП, так сказать, полным ходом.
Хотелось бы писать грамотный код на Java, а не то, что получается сейчас. Как подтянуться до нормального уровня? Стандартные книги, в которых разбираются if, while и for, не особо помогают, есть ли какая-то литература по Java, которая железной рукой наведет меня на путь истинный при создании архитектуры приложения, которое я хочу написать? Как только касается конкретного дела, я не понимаю, что должно быть классом, какие зависимости и наследование должно быть, чтобы все было грамотно. И в результате способен выдать только сотни говнокода, что печально.
Есть еще эффективные методы в этом деле? Разбирать грамотно написанный проект на Java? Где и какой следует найти?
Спасибо за внимание.

Ответ на: комментарий от ugoday

> Начнём с исправления имён

«нацизм»

«неонацизм»


«национализм»



Простите, в сортах говна не разбираюсь.

anonymous
()
Ответ на: комментарий от anonymous

Да я и не расчитывал на вашу адекватность.

ugoday ★★★★★
()

Присоединяюсь к вопросу.
Когда на работе надо было писать проект на java - не знал про язык практически ничего. Купил Java Core Хорстманна, почитал, вроде втянулся.
В общем-то, 2 проекта успешно написаны, работают на отлично. Периодически провожу рефакторинг.
Помогли статические анализаторы кода (для NetBeans - PMD, Checkstyle, FindBugs): они выдавали кучу разных предупреждений - разбирался в них, как сделать лучше, как исправить и тд.
Но, в общем-то, хоть и более-менее разобрался в языке, но тонкостей все равно не чувствую пока что...

kovrik ★★★★★
()
Ответ на: комментарий от ugoday

> занимаюсь общественной и политической работой

состою в административном комитете

возглавляю территориальную секцию


являюсь рядовым соратником



Понятно. Обычное трепло. Даже десятка чурок не отпиздил?

anonymous
()
Ответ на: комментарий от kovrik

>Но, в общем-то, хоть и более-менее разобрался в языке, но тонкостей все равно не чувствую пока что

целый 20Мб талмуд http://www.deitel.com/Books/Java/JavaHowtoProgram9eEarlyObjectsVersion/tabid/...
3 дня назад как раз 9 издание на трекерах появилось

Karapuz ★★★★★
()

>Где и какой следует найти?
кури сырцы спринга

JFreeM ★★★☆
()
Ответ на: комментарий от ugoday

> Т.е. кроме прямого насилия вы методов политической борьбы не признаёте?

Присутствие чурок (исключительно дешёвой рабсилы) выгодно бизнесу и поэтому лоббируется законодателями, подчинёнными тоталитарному руководству страны. О какой законной политической борьбе может идти речь вообще?

anonymous
()
Ответ на: комментарий от Karapuz

Употребление матерной ругани вредно влияет на мозг.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Благодарю за развёрнутые ответы.
Только давайте определимся в терминологии. Вы не неонацист, а националист. Я правильно понял? Если да, тогда у меня есть ещё один вопрос: какое отношение свастика имеет к русскому национализму?

Свастика при том, что у вас в профиле написано, цитирую, тут нарисована свастика.

mi_estas
()
Ответ на: комментарий от mi_estas

какое отношение свастика имеет к русскому национализму?

Почти никакого. Современный русский национализм является развитым и самостоятельным политическим течением причиной возрастающей популярности которого является имеющиеся в обществе серьёзные этнические проблемы. Соответственно эти проблемы, их причины и пути их разрешения находятся в фокусе нашего внимания, а зиги, свастики и иконы святогитлера --- вне его.

у вас в профиле написано, цитирую, тут нарисована свастика.

Давным давно у модеров было обострение и они устроили баноцид лоровцев за неугодные профили. Соответственно, чтобы подкузьмить модераторов была выбрана провоцирующая, но формально не нарушающая правила надпись. К политике в России это не имеет отношения.

ugoday ★★★★★
()

Много интересного предстоит проанализировать, спасибо за ответы.
Один пункт остался практически без внимания, по поводу хороших сорцов хороших проектов Java, стоит ли в них вникать, какие являются годными и прочие подробности.

p.s. Надеюсь, посты о неонацизме и прочих сортах гов^Wполитических течений потрут из /dev/ ссаной тряпкой.

uRandom
() автор топика
Ответ на: комментарий от anonymous

Ой ой ой. Сколько красивых и умных слов. Сколько пафоса. Вместо того, чтобы просто сказать: «Для программирования на Java совсем не обязательно читать SICP».

PS: Сам я - за SICP. На Java не программирую.

PPS: Была инфа (не проверял), что сейчас все примеры в SICP переписаны на питоне. Это по-твоему «причудливый устаревший язык программирования»? Иногда надо всё-таки «обновляться», уважаемый.

OldFatMan
()

Как уже писал, сам не Java-ист. Но был период, когда приходилось иметь дело с Java. Так вот именно с аспектами ООП в Java мне помогли разобраться книжки Bruce Eckel «Thinking in Java»(2 ed) и Mike Morgan «Java 2 for Professional Developers» (у этой, кажется, есть русский перевод). Книжки далеко не новые, но мне подошли. Шилдта не признаю (во всех проявлениях).

OldFatMan
()
Ответ на: комментарий от OldFatMan

все примеры в SICP переписаны на питоне

Это не совсем так. Один из курсов, для которого программирование не является профильной специальностью, перевели на обучение на питоне.

ugoday ★★★★★
()

> Как подтянуться до нормального уровня? Стандартные книги, в которых разбираются if, while и for, не особо помогают, есть ли какая-то литература по Java, которая железной рукой наведет меня на путь истинный при создании архитектуры приложения, которое я хочу написать?

Не слушай всех этих идиотов, кроме анонимуса, со всеми их маразматическими фаулерами, эвенсами, и прочей маркетинговой лабудой. _Сейчас_ тебе вся эта тряхомундия не нужна.

Лучше почитай «Практика программирования» Пайка и Кернигана, примеры на Java там есть.

LamerOk ★★★★★
()

Мне в свое время помогло 2-е издание Гради Буча «Объектно-ориентированный анализ и проектирование с примерами приложений». Только последнее 3-е издание на русском осилить не смог. Совсем писать разучились.

dave ★★★★★
()
Ответ на: комментарий от dave

>Совсем писать разучились.

Совсем переводить разучились. fxd
фрилансеры же переводами занимаются, за еду

Karapuz ★★★★★
()
Ответ на: комментарий от Sosiska

В основном - связка C и guile(scheme).

Периодически подключаюсь к команде, работающей на C++/Qt (но здесь я не эксперт, сразу признаюсь).

Часто приходится «рыбы» набрасывать на tcl/tk с последующей модификацией, если производительность критична (здесь опять-таки С).

Своё для десктопа - bash(awk,sed)/perl, иногда python. Против питона ничего не имею, вполне так себе нормальный язык. Но ничего серьёзного я на нём не писал.

Кажется, всё перечислил. :)

OldFatMan
()
Ответ на: комментарий от ugoday

> Это не совсем так. Один из курсов, для которого программирование не является профильной специальностью, перевели на обучение на питоне.

Скажи уж прямо: «Это совсем не так.» :)

Значит, перепутал я - то ли инфа кривая была, то ли я сам её криво воспринял.

Тогда, анонимус, принимай извинения.

Но я всё равно за SICP, пусть даже с «причудливым устаревшим языком программирования». :)

OldFatMan
()
Ответ на: комментарий от dave

> Только последнее 3-е издание на русском осилить не смог. Совсем писать разучились.

Буч писать-то не разучился. Дело в качестве перевода. Где-то году в 2003 я для интереса начал сравнивать переведённые на русский книжки по программированию с оригиналами. Не скажу, что абсолютно всё было плохо, но большинство переводов было откровенной халтурой. Рецепт против такого тот же, что существовал всегда: читать оригиналы, а не переводы.

OldFatMan
()
Ответ на: комментарий от anonymous

Анонимус дело пишет, ТС прислушайся

anonymous
()
Ответ на: комментарий от ugoday

> Не разобрал смысла за вашими инфернальными завываниями.

Да вы никак из эльфийского леса вышедши? Ну хорошо. Обрисуйте вкратце свои «политические методы». И не забудьте пару слов о перспективе их реализации в условиях того, что президента у нас назначают на 12 лет, а законодательное собрание на 90% состоит из послушных марионеток.

anonymous
()

Кей Хорстманн и Гери Корнелл спасут тебя, о юный падаван.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от iZEN

Геттеры и сеттеры и должны быть публичными по определению, вся же прочая работа с полями объекта должна выполняться приватными или защищенными методами.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от uRandom

Это нормально. Более того, некоторые классы приходится целиком объявлять статическими.

LongLiveUbuntu ★★★★★
()

нас на первом курсе учили так: для всего создается свой класс

например, игра реверси (othello). Класс доска, класс координата, класс массив координат (для черных и белых), класс игра (правила игры), ну и там главный класс, который всеми этими объектами играется.

Sonsee
()
Ответ на: комментарий от ugoday

> Вспоминается афоризм про бисер и свиней.

То есть ты не только трепло, но и никакой «программы политических действий» у тебя нет? Слив засчитан, чьмецо фашистское.

anonymous
()
Ответ на: комментарий от anonymous

Про свинью я оказался прав, как и во всём остальном.

ugoday ★★★★★
()

> Не могу никак войти в ООП, так сказать, полным ходом.

Cамая главная фишка ООП - инкапсуляция, т.е. сокрытие информации о _сложном_ внутреннем устройстве объектов и классов.

gandjubas
()
Ответ на: комментарий от urxvt

> От какой буквы смешно?

Это не говоря о том, что связывать коммунистов и евреев - отголосок нацистской пропаганды времён ВОВ.

gandjubas
()
Ответ на: комментарий от gandjubas

> Ульянов-Ленин был татарином. Застрелен еврейкой Фани Каплан. Это так, для справки.
Для справки то, что даже Википедия говорит что он Бланк.
К стати, корни его матери, из городишки 50 км от меня.

Это не говоря о том, что связывать коммунистов и евреев - отголосок нацистской пропаганды времён ВОВ.

Ах нуда... Они во всем виновны. И в том что Маркс с Енгельсом с обрезами бегали.

Товарищ, давайте не будем продолжать этот диалог, не уровне дет. сада.

urxvt ★★★★★
()
Ответ на: комментарий от urxvt

> Для справки то, что даже Википедия говорит что он Бланк.

Но самое смешное не это. Самое смешное это то, что фразу «еврейский коммунист Ленин» с умным видом втирает дядя по имени Дэвид и находятся гои, которые всё принимают за чистую монету.

gandjubas
()
Ответ на: комментарий от urxvt

> Для справки то, что даже Википедия говорит что он Бланк.

«Мать — Мария Александровна Ульянова (урождённая Бланк, 1835—1916), шведско-немецкого происхождения по матери и еврейского — по отцу. »

Т.е. нееврейка, потому что _мать_, цитирую: «шведско-немецкого происхождения».

gandjubas
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.