Здорово, конечно, хорошо программировать, справляться с поставленными задачами, но и нужно как-то сделать так, чтобы это не было "вырвиглазно".
Для этого нужно стараться красиво оформлять код: ставить пробелы, табулировать и т.д.
Есть немало разных книг, посвященных этой теме.
Поэтому, пожалуйста, порекомендуйте полезный материал, думаю, что не только мне будет интересно!
Кстати, нашел статью на хабре, может пригодится — Тык
Успехов!
hidden #2276351
8 уровень
Красивый кодинг.
Комментарии (17)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Justinian Judge в Mega City One Master
23 февраля 2021, 01:46
Есть несколько этапов развития написания качественного кода.
1. Когда человек делает первые шаги, на джава раше это 1-15-20 уровней, нужно фокусироваться на самих задании, на набивании руки на написания кода в принципе.
Чтобы можно было говорить о красоте, человек должен знать элементарную базу.
2. Уже с уровня 15-ти можно начинать держать ухо в остро. В интернете то тут то там разные советы вычитать можно. Если от кого-то что-то услышали, или увидели, старайтесь проработать, подумать, как вам правило.
Человек с 5-ым уровнем похвастался как он решил суперкоротко и в одну строку? Вам захотелось так же? Подумайте уровень его экспертизы. Вопросы качественного кода это всего думать и решать вам, как третейскому судье.
Я предлагаю два главных вопроса на примере конкретного кода:
Что этот код делает хорошим?
Что этот код делает плохим?
3. На 20-м уровне +/- можно начинать книгу Clean code Роберта Мартина.
Это единственная книга, которую я бы вынес как обязательную к прочтению перед работой.
Без всех остальных вполне можно обойтись, но Клин код это классика и стандарт в джаве.
4. Практиковаться, практиковаться, снова ловить то там, то сям правила, там услышали что две и больше пустых строки это нехорошо, там что фигурные скобки нужно ставить после IF/FOR/WHILE даже если потом всего одна строка идет.
Обязательно приучить себя регулярно нажимать CTRL+ALT+L для автоформатирования кода
Писать хороший код это навык. На его выработку нужно время, навыки, знания.
В среднем считается, что не меньше года работы нужно чтобы начать писать качественный код, поэтому трезво оценивайте свои возможности, если вам никто не делает код-ревью, если вы не видели реальный код на проектах, причем качественный код - проекты бывают разными, если у вас много пробелов в теории, то просто невозможно писать качественно.
Как красиво пробежать 100-метровку если вы учитесь ходить..
Но что можно, и нужно - это к этому стремиться. Все придет со временем, если стараться.
Это путь, удачи на нем :)
+4
Александр Работает в безработный
23 февраля 2021, 03:18
Согласен, но приучать себя делать всё правильно надо сразу, например
и такой код
к этому надо приучаться сразу, не лениться , по мне , так первый код режет глаз. Я досих пор не могу избавится от привычки из прошлого писать так
хотя на java правильно так
так что писать правильный код нужно сразу , а всё остальное придёт с опытом. +4
Justinian Judge в Mega City One Master
23 февраля 2021, 03:40
В целом я с тобой согласен, но чтобы писать правильно, нужно знать как правильно, + есть нюансы.
Когда дети делают первые шаги, не знаю кто как, но я лично не поправлял "а ну ка колено нормально выбрасывай! И ступню под правильный угол помещай! Держим осаночку, ну и что, что отроду год-полтора, под ноги не смотрим, надо ходить правильно, спинка ровненькая, плечи расправлены" и тд.
Когда что-то человек начинает, у человека есть допустим 100 условных единиц фокуса внимания.
Если на него высыпать ворох мелочей, на первом уровне человек еще не знает что такое пакет и импорты, а ему уже рассказывать что вайлдкарды в импортах не приняты и так на каждый шаг, все внимание резко закончится, единицы фокуса все потратятся и человек останется в растерянности.
Поэтому, на начальных стадиях почти всегда дозируют информацию, для того чтобы она была в допустимой для переваривания объеме.
Правил написания кода на джаве, сотни, тысячи. Их знание и отличает специалиста с 10 летним опытом от новичка, и эти 10 лет опыта никак нельзя перепрыгнуть.
Это не значит, что можно писать как попало.
Я бы сформуриовал так, ЕСЛИ человек знает и понимает то или иное правило, он должен его применять.
Если нет, для первых 1-10 уровней, пусть пишут лишь бы задачи закрывали, здесь главное окрепнуть, чтобы схватился цемент в фундаменте.
И потом по чуть-чуть, по чуть-чуть, начиная с самого простого с форматирования, пусть перенимают.
Также совет - пусть смотрят Готовое решение (ПОСЛЕ решения задачи конечно), и обращают внимание на форматирование кода, названия переменных.
Нажимают почаще CTRL+ALT+L.
В джава очень объемный стек технологий, много теории, множество практических нюансов, поэтому приходится балансировать и всегда чем-то жертвовать, на начальном этапе писать страшно допустимо для тех, у кого волосы шевелятся от задач.
Кто чувствует себя уверенным, те могут приступать к работе над качеством кода раньше чем 15-20 уровень.
0
Александр Работает в безработный
23 февраля 2021, 04:39
Согласен , но к элементарным вещам, как отступы надо приучать сразу , ведь когда детей начинают учить писать их же сразу приучают писать с отступами, а неписатьвсёслитно,лишьбфнаучилсяписатьбезошибок. Лучше сразу приучать себя следовать элементарным правилам, а они не такие уж и сложные, всего то несколько лишних палцедвижений.
0
Justinian Judge в Mega City One Master
23 февраля 2021, 05:46
про детей хорошая аналогия, дети сначала год прописи пишут, и только через год-два начинают писать что-то осмысленное.
У свитчеров итак мотивация часто возле плинтуса, страхи, сомнения, если сказать, давайте вы месяцок-другой научитесь нормально код оформлять, а тогда начнете изучать программирование, это не лучшая тактика.
Не думаю что кто-то в джаве согласиться подождать месяц другой, пока руку набьет на отступах.
Главная проблема - детей муштруют учителя, родители.
Если у начинающего нет препода, ментора, он сам себе предоставлен.
Он не знает правил, его никто не корректирует, а те отрывочные куски правил которые к нему доходят не факт что правильно сможет применять.
Поэтому и говорят - не начнешь работать, хороший код писать не будешь, поскольку качественный код это передается от человека к человеку + нужна практика.
Для того чтобы осмыслить многие правила нужно сперва набить шишки, нужна практика.
Объем практики дает множество разных ситуаций, а навыки писать хороший код это именно навыки, для которых нужны условия - это писать собственно код.
0
Александр Работает в безработный
23 февраля 2021, 07:02
Как и в любом языке программирования начинают не со сложных примеров , а с простых типа привет мир и усложнение идёт не быстро , программы занимают не много места. Я почему за это, потому что когда я начинал изучать свой первый язык , я сразу начал писать с отступами, теперь у меня это просто на автоматизме. Просто когда я смотрю на код без отступов я его не так быстро воспринимаю на поиск багов. Есть такой тест , в котором есть текст написаный с ошибками(пропущенные буквы , недописаные слова ) но человек когда читает его он не замечает ошибок и читает его , как будто он правильно написан. Просто я ратую за то чтобы сразу приучать себя и думаю это не так уж и сложно. А как писать каждый выбирает для себя сам.
0
Anonymous #2497433
23 февраля 2021, 07:25
писать с отступами ведь не единственный пункт правильного написанного кода. а вы только о нем и пишите уже несколько сообщений подряд. с вами уже согласились, что писать с отступами нужно, но вы продолжаете об этом писать
но есть и другие правила, которые допустимо не знать начинающему, чтобы не перегореть. именно это и рассказывает Justinian
p.s. я понял, что важно знать, что писать с отступами важно
0
Александр Работает в безработный
23 февраля 2021, 07:53
Один понял, уже хорошо , а остальное придёт в процессе накопления знаний.
0
EkaterinaLvova
23 февраля 2021, 10:12
Свичер, свичеру рознь :) Если речь только об отступах ,скобках, форматировании то это элементарная вещь для человека, который мало мальски в текстовом редакторе работал. Меня очень выручает тот факт, что в свое время "слепой печати" научилась на русском и английском.
Будучи аналитиком, видела опытного разработчика, который в коде пробелы не ставил и отступы не соблюдал...🤬🤯 Для меня это вырви глаз.
0
Justinian Judge в Mega City One Master
23 февраля 2021, 12:42
это редкий кейс, на самом деле, опять же, про это нужно знать.
Про нюансы, когда нужно писать так:
а когда так
и вовсе молчу.
Но с другой стороны, у свитчеров их опыт играет большую роль,филологи пользуются английским, корректоры внимательностью, та же слепая печать и тд.
Но по базовым вещам да, чем раньше привыкать тем лучше. Просто делающие первые шаги не имеют ориентиров, примеров хорошего кода для начинающих найти всегда сложно, хотя с того что я видел цитируемые Готовые решения, по оформлению там много чего можно взять и нужно равняться.
Это вопрос привычки, а привычку нужно тренировать. А для этого нужно силу воли, которой часто и на задания не хватает основные.
разное бывает, иногда надо функционал вывалить поскорее, разные люди, разная степень опрятности и чистоплотности, и опять же вопрос тех же привычек + никто по рукам не бил, от проекта к проекту качество кода может очень сильно отличаться.
+1
EkaterinaLvova
23 февраля 2021, 12:51
Это верно. Порой, хоть веревками себя привязывай. Мозг бунтует от обилия новой информации. Толи еще будет...😳🤯
0
Justinian Judge в Mega City One Master
23 февраля 2021, 13:34
Привыкнешь :) Здесь главное время, оно работает на нас, сейчас бунтует, потом бунтует, но собака лает, а караван идет.
Куда , это уже другой вопрос 😀
но идет. Поэтому самое главное это регулярно заниматься и писать код, понимание и осознанность придет когда будет время и место
+1
Сергей Я Java Developer в DXC/Luxoft Expert
24 февраля 2021, 05:53
В процессе приходит главное понимание, что в IDE, есть быстрые клавиши, в том числе и для выравнивания по правилам кода, так как в каждой компании они разные. В начале можно использовать дефолтные, после, на самой работе они будут подгружены в рабочею IDE. Написал класс/метод/строчку - прожал.
+1
hidden #2322530
24 февраля 2021, 10:22
по поводу отступов) приходишь на другой проект, а там совсем другая схема автоформатирования. и всё твоё обучение "отступам и тд" летит в garbage. потому что там свои правила)
например было задание на днях, там надо обязательно использовать схему автоформатирования в стиле гугла. а там допустим нет табуляции для отступа (4 пробела), а используется 2 пробела для отступа. что тогда делать? )
0
Justinian Judge в Mega City One Master
24 февраля 2021, 11:58
не летит.
Профессионал всегда будет подстраиваться под конкретного заказчика или проект, но при этом всегда будет стержень своих взглядов и навыков.
А если программист станет лидом или архитектом и сам будет устанавливать правила? Что он будет предлагать? То, как будет считать лучше и правильным. То как умеет. То есть этому учиться все-равно надо.
У каждого программиста есть два аспекта, первый, как мы пишем как считаем правильными, и второй - мы пишем как считаем правильным, но некоторые "настройки" оверрайдятся проектными конвеншенами. Если их нет, мы используем базовые.
Поэтому учиться все-равно нужно, хотя в плане отступов, что там учить, разве что не забывать CTRL+ALT+L использовать )
0
hidden #2322530
24 февраля 2021, 12:00
когда я стану архитектором, я построю свою схему CTRL + ALT + L с блэкджеком и шлюхами! (с)
+3
Justinian Judge в Mega City One Master
24 февраля 2021, 12:54
👍
и это правильный ответ! 😂
0