Вот что вам следует применить, чтобы быстрее читать Java

Вы будете читать код в 10 раз больше, чем писать код, - Роберт Мартин.

Вы расшифровываете загадочный код Java? Вы работаете сверхурочно, чтобы исправить ошибку? Вы используете только StackOverflow?

Вот 3 совета по чтению кода. Это должно помочь уменьшить вышеупомянутые проблемы.

1. Используйте знания толпы

Отметьте самую последнюю, активную и проголосованную проверку кода.

Прочтите самые популярные обзоры кода. Прочтите комментарии. Комментарии содержат информативные подсказки или пояснения к фактическому ответу. Самые популярные получают наибольшую поддержку и вызывают хорошие разговоры.

Что вы можете найти в комментариях? Полезные правила сонара, уведомление о прекращении поддержки и занимательные комментарии.

Распространенная ошибка? Используйте дословные решения. Используйте дословные комментарии. Проявите собственное усердие. Изучите, задавайте вопросы, затем подайте заявку. Никогда не знаешь, что тебе подходит. Идеально работающее решение может вам не подойти.

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

StackOverflow, верно? Нет. Обмен стеком Программная инженерия.

Вы можете прочитать о хороших практиках кода, ценных мнениях и подробных объяснениях.

Что плохого в использовании StackOverflow? Ничего такого. Обмен стеками программной инженерии является альтернативой. Альтернатива для чтения кода, поиска проблем и прогресса.

У вас есть конкретная проблема? StackOverflow. У вас есть проблема с дизайном? Обмен стеками программной инженерии. Вам нужны хорошие примеры проверки кода? Обмен стеком для проверки кода

2. Соглашения группы по настройке

Соблюдайте командные соглашения. Они улучшают чтение кода. Единый стиль кода, форматирование и коллективный консенсус - ускорьте чтение.

Какую распространенную ошибку делают разработчики? Нет регистрации для. Присоединяется новый разработчик - начинает писать без предварительных договоренностей. Нет адаптации - в целом чтение медленнее.

Вот хорошие практики, которые помогут научиться лучше читать.

Выбирайте стандарт вместо своей собственной реализации. Используйте существующий Supplier. Узнайте больше о встроенных функциях. Как это помогает? Существующие функции помогают в общении. Когда вы разрабатываете новую функцию, это требует больших усилий. Коммуникационные усилия для подробного объяснения.

Обратите внимание на статические служебные функции. Большинство служебных функций могут быть статическими. Перевод строки в верхний регистр, скрытие нескольких символов, расчет скидки.

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

Вопросы по модульным тестам. Разработчики избегают тестирования. Модульные тесты отлично подходят для раскрытия вашей логики. Как выглядят хорошие тесты? Они следуют структуре ЗОМБИ.

  • Z - проверка на ноль, пустоту или ноль
  • О - тест на одного
  • М - испытание для многих
  • I - тестирование интерфейса
  • E - тестовые исключения
  • S - простой сценарий

Тесты - это поставщики документации для вашего кода. Чтение кода зависит от хорошего тестового покрытия. Один из старших однажды сказал мне:

Милош, допустим, вы теряете исходный код. Хороший тест может предоставить все необходимое для воссоздания исходного кода.

Что делать нельзя? Глупо используйте возможности.

Optional, когда null в порядке. Наследование, когда композиция - лучший выбор. Комментарии, когда кода достаточно.

Все это тормозит чтение. Вам нужно приложить дополнительные усилия. Дополнительные коммуникационные усилия, которые, в свою очередь, замедляют чтение.

3. Проверьте код Java

Прежде чем читать код, потяните его. Не проводите мысленные эксперименты. Загрузите код на свой адрес, примените изменения, попробуйте.

Что ж, это большая работа, скажете вы. И работы много. Но правильная проверка кода окупается. Как? Вот преимущества углубленной проверки кода:

  • Вы узнаете больше о контексте
  • Вы получаете передачу знаний, которая снижает затраты на общение в будущем.
  • Вы узнаете больше о Java, потому что вам нужно попробовать свои усовершенствования.

Вот почему вам следует попробовать код, прежде чем комментировать.

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

Бонус: чтение декомпилированной Java

Как открывать файлы Java .class? Зачем вам это нужно?

Код компилируется в .class файлы. Декомпиляция - это процесс регенерации исходного кода. Этот исходный код сам по себе не соответствует исходному коду.

Вы можете открывать файлы .class в IntelliJ IDEA. Получите декомпилированный исходный код, открыв файлы классов в IDE. Вы можете использовать эту практику для отладки, чтения и углубленного изучения.

Есть другие способы декомпиляции файлов классов. Java Decompiler работает с Java 10 и младшими версиями. Хотите декомпилировать отдельный файл класса? Используйте javap.

Вы сталкиваетесь со странными ошибками? Вам нужны декомпилированные файлы классов. Прочтите код в декомпилированном файле класса. Может быть простое условие или исключение. Чтение файлов классов помогает выявить ошибку.

Забрать

Действительно, соотношение времени, затрачиваемого на чтение и на запись, намного превышает 10: 1. Мы постоянно читаем старый код в рамках усилий по написанию нового кода. … [Таким образом,] облегчая чтение, легче писать . - Роберт С. Мартин, Чистый код: руководство по созданию гибкого программного обеспечения

Внимательно изучите Java. Проверьте контекст, просмотрите и узнайте больше.

Соглашения группы установки. Легче читать, когда есть условности.

Прочтите декомпилированные файлы классов. Странные ошибки лежат в файлах классов. Вы можете отлаживать, читать и исправлять надоедливые ошибки.

Ресурсы

Java-практики