|
|
|
Где найти рекомендации по стилю написания кода?22.03.2016, 12:09. Показов 1176. Ответов 12
Метки нет (Все метки)
Существует ли литература с общими рекомендациями по стилю написания кода на языке Java?
Интересуют общие рекомендации, а не стиль принятый на вооружение отдельно взятой компанией. Больше интересует не стиль оформления(египетские или не египетские скобки, это вообще не интересует), а рекомендации по именованию методов, классов, переменных.
0
|
|
| 22.03.2016, 12:09 | |
|
Ответы с готовыми решениями:
12
Спрашиваю совет по стилю написания кода
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 22.03.2016, 12:11 | |
|
vvm28, как насчет гугла?
http://ru-java.livejournal.com/610367.html https://habrahabr.ru/post/112042/
0
|
|
|
|
|
| 22.03.2016, 12:45 [ТС] | |
|
Спасибо. На Хабре интересная статья.
Однако, египетские скобки мне, да и многим другим скорее всего, не очень нравятся в рекомендации. Еще нашел: http://www.oracle.com/technetw... 36057.html Последняя редакция этого документа была сделана 20 апреля 1999 Проводились ли серьезные исследования по скорости восприятию кода, в зависимости от стиля его оформления? Еще хотелось бы посмотреть на достаточно большой фрагмент кода, в хорошем стилистическом оформлении. Что бы не просто так взглянуть, а максимально быстро понять, что в нем происходит. Ну и сразу сказать : "Да это хороший пример!!! Настоящий шедевр." Оформлен не по всем догмам и канонам, но читается хорошо.
0
|
|
|
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
|
|
| 22.03.2016, 12:48 | |
|
0
|
|
|
|
|||||||||||
| 22.03.2016, 13:18 [ТС] | |||||||||||
|
Вам может показаться, что это достаточно праздные вопросы, но это не так.
Добавлено через 25 минут По поводу египетских скобок. Сравните:
Попробуйте сделать большой класс и несколько вложенных блоков кода в этом классе. Далее в объявлениях переменных :
Уже становится воспринимать такой код легче. Но это еще достаточно абстрактная "стилизация" кода. У нас переменные не отражают своей сути. И потом это стилизация по открытости, закрытости переменных. Если мы полностью будем писать имена publicIntVoid1; То у нас имена переменных получатся длинными и не удобочитаемыми. public int pubVoid1; // возможно уже какие-то улучшения.
0
|
|||||||||||
|
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
|
|||||||
| 22.03.2016, 13:23 | |||||||
|
лично у меня поднимается волна раздражения когда я вижу скобки с новой строки и для меня крайне важно что бы код форматировался по конвенциям от оракла
0
|
|||||||
|
|
|
| 22.03.2016, 13:34 [ТС] | |
|
"Какой год вам будет легче воспринимать, в том случае если его будет много?"
Не надо смешивать год и длину года в строке кода. Вы что , хотите меня запутать? Год издания тоже важен. Из старых публикаций можно почерпнуть много нового для себя. Но стандарты и наше восприятие быстро меняются.
0
|
|
|
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
|
|
| 22.03.2016, 13:36 | |
|
какой "год"?
ты цитируешь себя и себе же отвечаешь, все в порядке?
0
|
|
|
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
|
||||||||||||
| 22.03.2016, 13:39 | ||||||||||||
Мой ответ на ваш вопрос: Легче воспринимать тот формат к которому привык. А если учесть что в таком виде практически любой код на java, то к первому варианту лучше не привыкать... Хоть он и кажется более удобным.
0
|
||||||||||||
|
|
|||||||||||
| 22.03.2016, 14:00 [ТС] | |||||||||||
|
Намного легче воспринимать такое форматирование:
Написать два кода совершенно разных классов по содержанию. Классы пусть пишет другой человек. Это должен сделать другой человек. Не вы. Заранее вам не должен быть известен результат, и вы не должны знать, что эти классы делают. Пусть эти классы будут на одну страницу текста. Код должен содержать несколько вложенных блоков. Код должен быть по сложности , как бы это сказать "равносожен", то есть по сложности они должны быть равнозначными. Дать эти два класса посмотреть в течении трех, четырех минут учащимся. Один из кодов будет стилизован с помощью египетских скобок. Другой код, с "параллельными" скобками. Какой код учащиеся поняли быстрее, тот код и выиграл. Вернее не код выиграл, а та стилизация будет более выигрышной. Добавлено через 12 минут Паблито, не надо подтасовывать.
0
|
|||||||||||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|||
| 22.03.2016, 14:01 | |||
|
Стиллистика кода меняется от фирмы к фирме. Обсуждать что лучше нет смысла.
0
|
|||
|
|
||
| 22.03.2016, 14:27 [ТС] | ||
|
А в том, как написать код, который будет восприниматься лучше, читабельный код. Пусть этот код воспринимается компьютером одинаково, но для более быстрого понимания, например, для обучения, для туториалов, такой код будет легче читать. Пусть этот код буден даже разный, а не одинаковый, для двух этих классов. Для этого я и предложил написать два разных кода. По поводу именования переменных. publicVoid2; // длинное имя переменной, если полностью писать, то будет слишком длинно. mProtected; // короткий префикс и имя не отражает суть переменной, для чего она предназначена. Именование еще, скорее всего, зависит от уровня абстракции этой переменной. В более абстрактном классе - более абстрактное имя, в менее обобщенном классе - менее обобщенное
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 22.03.2016, 14:31 | ||
|
Писать модификаторы доступа в именах переменных тоже лишнее как по мне. В любой IDE сразу видно что эта за переменная, какого типа и.т.д. Это помогало раньше когда в блокнотах код писали. Сейчас уже 2016 и в блокнотах код не пишут.
0
|
||
| 22.03.2016, 14:31 | |
|
Помогаю со студенческими работами здесь
13
Передача стилю элемента свойства из кода Где найти прогу для написания дистриба?.. Где найти саму программу после написания в xcode? Где найти толковый пример написания службы для работы с БД на русском? Рекомендации по улучшению кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|