|
| 1 | +# Руководство по оформлению Java-кода |
| 2 | + |
| 3 | +Содержание: |
| 4 | + |
| 5 | +- Пакеты |
| 6 | + - Правила именования пакетов |
| 7 | + - Согласованность чисел в именах пакетов |
| 8 | +- Классы |
| 9 | +- Константы |
| 10 | +- Комментарии |
| 11 | + |
| 12 | +## Пакеты |
| 13 | + |
| 14 | +Для предназначены пакеты? Каждый пакет предназначен для описания какой-то конкретно функциональности. |
| 15 | + |
| 16 | +Например, есть проект поисковой системы. Что значит поисковая система? Что значит написать поисковую систему? Это значит, что нужно написать: |
| 17 | +- парсер, |
| 18 | +- сканирование веб-сайтов, |
| 19 | +- получение доменных имён сайтов, |
| 20 | +- получение их ссылок, |
| 21 | +- система оценки того или иного ресурса или каждой страницы по отдельности. |
| 22 | + |
| 23 | +По оценке это отдельная функциональность, по сканированию это другая функциональность и т.д. |
| 24 | + |
| 25 | +### Правила именования пакетов |
| 26 | + |
| 27 | +#### Согласованность чисел в именах пакетов |
| 28 | + |
| 29 | +*Не рекомендуется:* |
| 30 | + |
| 31 | +- com.github.gusenov.java.controllers |
| 32 | +- com.github.gusenov.java.dao |
| 33 | +- com.github.gusenov.java.dao.accessors |
| 34 | +- com.github.gusenov.java.dao.impl |
| 35 | +- **com.github.gusenov.java.model** |
| 36 | +- com.github.gusenov.java.services |
| 37 | +- com.github.gusenov.java.utils |
| 38 | +- com.github.gusenov.java.helpers |
| 39 | + |
| 40 | +**services** и **controllers** написаны во множественном числе. |
| 41 | +**model** написан не во множественном числе. |
| 42 | + |
| 43 | +Или они все должны быть написаны во множественном числе (что собственно и нужно, чтобы так было) или же все должны быть написаны в единственном числе, но это уже будет некорректное название. |
| 44 | + |
| 45 | +*Рекомендуется:* |
| 46 | + |
| 47 | +- com.github.gusenov.java.controllers |
| 48 | +- com.github.gusenov.java.dao |
| 49 | +- com.github.gusenov.java.dao.accessors |
| 50 | +- com.github.gusenov.java.dao.impl |
| 51 | +- **com.github.gusenov.java.models** |
| 52 | +- com.github.gusenov.java.services |
| 53 | +- com.github.gusenov.java.utils |
| 54 | +- com.github.gusenov.java.helpers |
| 55 | + |
| 56 | +## Классы |
| 57 | + |
| 58 | +Каждое название класса должно отвечать само за себя. Для чего оно предназначено. |
| 59 | + |
| 60 | +## Константы |
| 61 | + |
| 62 | +Констант в коде не должно быть. Их необходимо выносить из кода. |
| 63 | + |
| 64 | +## Комментарии |
| 65 | + |
| 66 | +В коде не должно быть вообще комментариев. |
| 67 | +Комментарии могут быть в каких-то местах очень сложно алгоритмических. |
| 68 | +Если же в коде написано множество коментариев это говорит о том, что он непонятный. |
| 69 | +Комментарии засоряют исходный код и он становится менее читабельным. |
| 70 | +Код должен быть написан таким образом, чтобы он был легко читаемым. |
| 71 | + |
| 72 | +# Список использованных источник |
| 73 | + |
| 74 | +- [Java code review](https://www.youtube.com/watch?v=1ZhmK7BiWbk&list=PLi3gxGWPyGGSz6vYeCwOw8IgT4G1VP83w) |
| 75 | +- [java - Naming convention JUnit suffix or prefix Test - Stack Overflow](https://stackoverflow.com/q/3146821/2289640) |
| 76 | + |
0 commit comments