Здрасти,начал писать консольный чат на java.Подскажите,какой функционал должен быть у такого чата что-бы можно было его добавить в портофолио для java-junior?
godlikenich: и еще. Перед тем как что-то писать - следует обдумать грамотно архитектуру, это грань между кодером и программистом. Книжки какие-нибудь умные по проектированию читали?
godlikenich: хорошая книжка. Если вы только начинаете постигать Java, то не нужно рваться и писать сразу в портфолио, первый код всегда комом) Кроме самого языка, его конструкций и т.д. есть еще уровень повыше - "технологии", "проектирование". На ранних этапах об этом задумываться конечно сильно не нужно, но в портфолио и в реальной работе в первую очередь смотрят то, как вы используете язык, как вы выстраиваете взаимосвязь между классами, модулями, какие вы примняете практики из ООП, какие используете технологии. Для начала разберитесь с языком, почитайте парочку умных книжек о том, как писать "хороший код", а потом, когда почувствуете, что можете написать то, что не только будет работать, но что еще смогут без вашей помощи поддерживать совершенно незнакомые вам люди - тогда можно приступать к портфолио. Практика+теория=успех, на одной практике далеко не уедешь, на одной теории - не уедешь никуда.
godlikenich: Ознакомьтесь с SOLID - набор не сложных рекомендаций и правил, помогут понять в чем суть вопроса. Начать советую с - "Совершенный код" С.Макконел. Как втянетесь можно почитать более легковесную, но достаточно важную - "Приемы объектно-ориентированного проектирования" Банды четырех. Ну естественно чтение книг не должно заменять практики, и изучения языка. В этих книгах много хорошей информации, которая поможет так-сказать понять "зачем писать правильно?". Важно еще не просто читать, а именно изучать материал, смотреть примеры в интернете, рекомендации. Сразу скажу - может быть больно и тяжело :) , но это действительно очень сильно поможет вам писать хороший код. Также для общего развития немного поизучайте алгоритмы, поможет развить мыслительный аппарат.
godlikenich: главное не забывать, что язык программирования придуман в первую очередь для человека, а не для машины, машина понимает только 0 и 1. И читает код именно человек.
Бери любой открытый стандарт и реализуй совместимость с ним. К примеру возьми XMPP и напиши клиента совместимого минимального с нуля.
Как говорили выше судить будут по коду и архитектуре. Если велосипед будет свой то людям будет несколько сложнее понять что у тебя там происходит, в случае какого то стандарта им будет намного проще понимать смысл кода и оценивать уже стиль\архитектуру\код.