Видишь это? Здесь граница для 80 символов в строке. Лучше её не пересекать. *сиОор* *шоор* .. I / it-юмор :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek 
Видишь это? Здесь граница для 80 символов в строке. Лучше её не пересекать.
*сиОор*
*шоор*	..
I , вха*|С
риЫ ¡с
*оиООр*

W'/irt'
extends	•"piemen ts
Anything anything = new AnythingO;
throvAJS
ArraylndexOutOfBoundsExce
THEJENKlNSCOMIC,it-юмор,geek,Прикольные гаджеты. Научный,
Подробнее
Видишь это? Здесь граница для 80 символов в строке. Лучше её не пересекать. *сиОор* *шоор* .. I , вха*|С риЫ ¡с *оиООр* W'/irt' extends •"piemen ts Anything anything = new AnythingO; throvAJS ArraylndexOutOfBoundsExce THEJENKlNSCOMIC
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Еще на тему
Развернуть
Авторы жс боялись, что веб-программисты не осилят лишнюю дюжину концепций, поэтому теперь веб-программисты осваивают лишнюю дюжину диалектов.
Supert Supert 08.02.202122:46 ответить ссылка 19.3
Scala, Kotlin, Clojure, Groovy: да-да, пошли мы нахуй
Мегатонны кода сокрыты вовеки вечные свидетелями энтерпрайза и джава есть пророк его!
Как выглядело бы решение простой задачки FizzBuzz в энтерпрайзе https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
615 форков
Вижу энтерпрайз - делаю форк
Я конечно плюсовый мимокрокодил который на джаве писал всего пару месяцев, но на кой ляд столько всего для кода который умещается в один метод? Да даже в сраном мейне
Это стёб над энтерпрайз разработкой
dibroo dibroo 09.02.202110:41 ответить ссылка 0.3
Ох бля, я многие годы задаю этот вопрос, много сталкиваясь вот с таким кодом, как в этом примере.
Куча говнокода, который делает ровным счётом нихуя, просто потому, что дебилы начитались книжек, но голову включить забыли.
визитор с одним визитом. очень смешно.
nanoo nanoo 09.02.202111:54 ответить ссылка -0.1
а можно недо пограмисту лодочку
я нихуя непоняль
dr9vik dr9vik 08.02.202123:09 ответить ссылка 7.0
Ого, сколько лишнего надо, я стану по другому относится к явистам на роботе, ето ж столько труда, всьо описать. п.с. пишу на py и js.
axebtm axebtm 09.02.202102:56 ответить ссылка -0.7
в Java принято именовать сущности довольно длинными названиями, как говорил один чувак - если в имени класса меньше пяти слов, то я считаю такой класс полной хуйней и использовать не буду.
ну и кроме того куча всяких разнообразных модификаторов, которые в других языках заменяет синтаксический сахар, либо они опциональны, либо отсуствуют вообще.

то есть там, где в js жизнь уже заканчивается, в жабе и c# она только начинается,
потому что одним только неймспейсом, классом и методом ты отступаешь 12 пробелов от начала строки.
а потом пишешь DefaultFizzBuzzUpperLimitParameter defaultFizzBuzzUpperLimitParameter = new DefaultFizzBuzzUpperLimitParameter(new NumberIsMultipleOfAnotherNumberVerifier());
Длинные названия тоже считаются дурным тоном, как и короткие до непонятности. Потому в Java мире ценятся названия и строки кода, которые максимально короткие при условии сохранения читабельности и самодокументируемости кода.

А для длиннострокофобов придумали правила переноса строк, которые поддерживаются на уровне ИДЕ автоматически.
ну, я как сторонний наблюдатель говорю, я от жабы довольно далёк.
в длинных названиях нет ничего плохого, класс может служить только источником метаданных или отражать такое же длинное имя репозитория (почему у репозитория настолько длинное имя - это уже другой вопрос).
Еще придумали такую вещь как var, которую почему-то путают с dynamic и очень не хотят использовать. Хорошо когда есть code guideline с сахарком.
Wolfdp Wolfdp 09.02.202103:26 ответить ссылка 1.5
Ага, var блять.

var a = DoSomeMethod();

И ты такой - а что это за переменная, какого ора типа, что она умеет?

Ненавижу var, блять
drovoseg drovoseg 09.02.202106:31 ответить ссылка -1.6
Дело привычки и адекватного подхода. Такой пример -- абстрактный конь в вакуме, в большинстве случаев имеем нечто такое "var user = dao.GetUserById(id)", вполне читаемо и накрайняк IDE прекрасно подсветит название класса. Еще избавляет от "масло масляное" как указали коментом выше, и удобней в написании кода (не нужно вспоминать полное имя класса переменно и подключать namespace).

Вообще весь этот сахар не супер необходим, я бы больше хотел видеть единый стиль написания кода хоть с var, хоть без него. В таком случае быстро привыкаешь писать по единому шаблону и не занимаешься "наведение красоты".
Wolfdp Wolfdp 09.02.202107:56 ответить ссылка 0.9
Не любил в C/C++ auto, пока не перешёл на ФП. Почти все современные языки одновременно с явной изменяемостью (val/var или let/let mut или как-то ещё) отказываются от явных типов (из знакомых мне — Rust, Scala, Kotlin, Swift), прибегая к ним только когда надо явно указать что-то невыводимое вроде «let requests: Result<Box<dyn Iterator<Item = http::request::Request>>, _> = ….collect()?;».
Ну а назначение должно быть понятно из самой функции и названия переменной (благо можно переобъявлять затирающую переменную с тем же названием): «let render = RenderActor::new(device); render.rebuild_queue();», в случае явного указания один раз продублируется RenderActor, который там и так в названии переменной и структуры, а rebuild_queue как был от неявного типа, так и остался. Некоторые языки (вроде Scala) позволяют даже скрывать частично описание типов функций (в т.ч. выходных нерекурсивных), в отличие от того же раста, где свободные замыкания требуют типов. А иногда тип назвать слишком сложно — ради этого в расте выдумали «impl» (нарп.: … ->impl Iterator<Item = u32>, т.к. реальный тип будет двадцатиэтажным с ZipIterator, ChainIterator, ReverseIterator…).
Я стал себя старого (тот, который избегал auto) видеть старпёром.
не хотелось бы казаться слишком умным, простите, но по научному это называется type inference
nanoo nanoo 09.02.202112:03 ответить ссылка 1.2
Ну это блин от языка зависит. У нас на Swift например тоже есть var и let (что то типо const var). Так вот, в реальных задачах дохрена повторяющихся моментов.

Например ты в 300 раз берешь высоту вьюхи
let height = view.bounds.height
Любой кто работал c UIKit (там определены все эти View с bound и прочее) прекрасно знает что все измерения там это CGFloat, так зачем об этом писать?

С другой стороны у нас есть возможность явно указать тип, возвращаясь к примеру выше это:
let height: CGFloat = view.bounds.height
или
let height = view.bounds.height as CGFloat

И мне нравится эта вариативность! Здорово когда создатели языка не относятся к тебе как к обезьяне за компом, и дать возможность писать в любом стиле.
А я наоборот предпочитаю, чтобы вариативность без пользы устранять. Слишком много обезьян за компом нанимают, чтобы перепродать подороже... Задалбывает на ревью писать людям, что они хуйню написали в очевидном месте, и что их мега метод уже реализован где-то в ядре языка и можно сократить до пары строк.
Ну это то да, такое себе когда говнокод приходится править / ревьювать. Но другой стороны почему я должен быть ограничен в способах из-за зеленых джунов? Да вариативность позволяет написать херовый код но если ее запретить мало что изменится. Всегда можно вспомнить легендарных индусских программистов которым платили за строчки кода - если хочется то наговнокодить можно где угодно и когда угодно...
Ну, если свобода выбора решения реализована так, что отстрелить себе колено не получится - то почему бы и нет. А если фича подразумевает дисциплинированность разработчика, то ну нахер.
О, действительно, все же пишут код в блокноте, а не в IDE, где можно включить inlay hints, если ты уж пишешь код, не понимая, что возвращает тебе DoSomeMethod()
Ненавижу кодерастов, блять, понабрали со stackoverflow, даже не смотрят, что делают и возвращают методы, которые используют...
val widthSize : Int = getSize(widthMeasureSpec) val heightSize : Int = getSize(heightMeasureSpec)
Zedd Zedd 09.02.202109:35 ответить ссылка -2.5
за такие названия надо отрывать руки. Такая порнография нихуя ни по одному кодстайлу.

Ибо название должно быть:
говорящим(потому что иначе нахуй оно?)
коротким(потому что через точку порой писать дохуя и сам же заебешься)
без смехуечков и сокращений, если только сокращения не общепринятые в предметной области(какой-нибудь СНИЛС - да, а ММРСДН - нет, ибо хуй его знает что он там значит)
Ну и перенос строк, да.

ну и на реакторе просто традиционно не любят жабу.
В гибернейте есть одно совершенно блядское исключение - гибернейт позволяет писать запросы в базу именем метода. Вот там такое порой бывает...
хотя лично я против таких изъебов
Ну, тут главное меру знать. Какой-нибудь getUserById(id) - ок, а вот запросы с десятком параметров и с сортировкой до кучи лучше всё же писать ручками.
Он же запросы с подобных методов более оптимально выполняет кажется?
Ну и раз взялся писать запросы именами метода, так не бросать же. А CI исключение прописать, что мол имя метода длиннее максимального количества сиволов, тут мои полномочия всё.
StaticX StaticX 09.02.202100:58 ответить ссылка -0.1
именование сущностей вообще крайне мало имеет отношения к кодстайлам, и максимум, что об этом упоминается в верхних результатах из гугла, так это Try to keep your class names simpleand descriptive. Use whole words—avoidacronyms and abbreviations (unless the abbre-viation is much more widely used than thelong form, such as URL or HTML). в code convention от Oracle.
стайлгайд от собственно гугла, например, на эту тему вообще не заикается. и правильно.

хотя, если вы там "заебываетесь дохуя писать", то, возможно, у вас эта проблема с длинной имен стоит действительно остро.

а именования в примере вполне себе адекватные (насколько они могут быть такими для FizzBuzz на манер энтерпрайз) - говорящие, в меру короткие, без смехуечков и сокращений. тут проблема в том, что это изначально не должно быть отдельным классом - этот класс это две-три строки и они не должны были подлежать декомпозиции, а не в их длине имен того, что в результате её получилось.
иде спасает от любой длины, фигня вопрос. Только читать эту лапшу потом немного неприятно, а однострочник распедаливает на пол-страницы.

Что до кодстайла, я обращаюсь скорее к своему опыту, где имена имели предельную длину и ебись как хочешь.
Такие названия вполне естественно появляются.

Сначала у тебя есть FizzBuzz. Потом появляется некоторый лимит, он становится BuzzUpperLimit. Потом появляется необходимость его конфигурировать, получается FizzBuzzUpperLimitParameter. Через какое-то время чувак замечает, что параметры часто одни и те же и решает сделать класс DefaultFizzBuzzUpperLimitParameter, чтобы в конструкторе засеттить всё дефолтами и не писать каждый раз одну и ту же портянку с настройками.

Каждый из этих шагов - логичный и понятный. Правило бойскаута "ща я отрефачу всё нахер" рассыпается, сталкиваясь с реальностью "какого хера на задаче оцененную в час ты сидишь второй день"/100500 конфликтов с 547 других разработчиков и невозможность в итоге ничего залить/волшебные слово "Рефлекшн" и "внешняя интеграция".
Psilon Psilon 09.02.202102:58 ответить ссылка 1.5
ну так не пиши всю историю разработки в название. Согласись, твой дефолтный класс можно обозвать FizzBuzzInitializer и в нем уже конкретные методы, если их несколько, или какой-нибудь getInstanse если всего один. Просто на каждом описанном тобой шаге чувак забил напрягаться над названием и тупо увеличил текст. Понятно, у него полно задач и некогда напрягаться над всякой херней(блин, можно подумать я не в энтерпрайзе работаю), но это нихрена не нормально.
А нехуй плодить сущности там, где они не нужны.
В жабе, слава яйцам яванского леопарда, понемногу уходит идиотская мода на километровые названия.
80 символов - это привет из 20 века, когда были текстовые терминалы.

У меня на проекте сейчас 120 символов, например.
empiro empiro 09.02.202100:08 ответить ссылка -5.4
У всех разный кодстайл. Ругать чужой и хвалить свой - просто непрофессионально.

Я щас посмотрел - 120 символов это от края до края. Читать стену такого кода - удовольствие ниже среднего.

В реальной работе нет специальной олимпиады "Запихнуть побольше кода в одну строку", смысл чтобы хорошо читалось. Строки в 120 символов читаются херово. Терминалы в 80 символов изначально сделали не дебилы которые не могли сделать его шире - были, так сказать, определенные причины
Psilon Psilon 09.02.202103:01 ответить ссылка 2.3
> Ругать чужой и хвалить свой - просто непрофессионально.

> Строки в 120 символов читаются херово.
empiro empiro 09.02.202111:39 ответить ссылка 0.1
А я не ругаю. Пользуйся на здоровье. Но наука "эргономика" с тобой не согласна: http://webtypography.net/2.1.2
Psilon Psilon 09.02.202120:37 ответить ссылка 0.1
Пишем на джаве. Корпоративный код. Ограничение в 80 символов, потому что кто-то кодит в mc или vim в 2 столбца.
В итоге почти всегда при вызове функций аргументы на отдельных строках.
b2ne b2ne 09.02.202100:31 ответить ссылка 0.4
кодить в без ide джаву...
Не, я понимаю, что дело личных пристрастий и мощностей машины, но лично мне как-то дико такое...
Просто люди не могут выйти из vim, вот и кодят только в нем.
Wolfdp Wolfdp 09.02.202103:27 ответить ссылка 8.3
там в два столбца, это значит они не могут выйти из ДВУХ вимов.
nanoo nanoo 09.02.202112:05 ответить ссылка 2.6
Для таких надо checkstyle и sonar на каждій коммит запускать, чтобы за каждый пробел и отступ пропущенный было больно.
final
elkolako elkolako 10.02.202106:54 ответить ссылка 0.0
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
mathematics
visualbasic
haskell
rust
clojure
programming
matlab
lua
swift
scala
objectivée
golang
perl
lisp
esharp
sql
epp
python
ruby
java
javascript
php
TTT
IE
~1~1 r
_r r f
I I r
W
1 T
1 E
1 r
I I
I I
I I
W
1 E
1 E
0
I ,	,1
100	150	200
contains word / 100
подробнее»

geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор it-юмор javascript php Это не шутка

mathematics visualbasic haskell rust clojure programming matlab lua swift scala objectivée golang perl lisp esharp sql epp python ruby java javascript php TTT IE ~1~1 r _r r f I I r W 1 T 1 E 1 r I I I I I I W 1 E 1 E 0 I , ,1 100 150 200 contains word / 100
генетический алгоритм,Science & Technology,генетический алгоритм,эволюция,эволюционные вычисления,Pixilang,genetic algorithm,evolutionary algorithms,естественный отбор,evolution,Эксперимент а области генетических алгоритмов
https://yadi.sk/d/AKx5raiN3Lghrp
Мой кошелёк на яндекс-деньги для желающих м
подробнее»

алгоритм генетический алгоритм видео,video гик geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор foo52ru pixilang

генетический алгоритм,Science & Technology,генетический алгоритм,эволюция,эволюционные вычисления,Pixilang,genetic algorithm,evolutionary algorithms,естественный отбор,evolution,Эксперимент а области генетических алгоритмов https://yadi.sk/d/AKx5raiN3Lghrp Мой кошелёк на яндекс-деньги для желающих м
Станьте бета-тестировщиком
Пробуйте новые функции до их публикации и отправляйте отзывы разработчику.
Присоединиться Узнать боль...
подробнее»

it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор жизнь - боль

Станьте бета-тестировщиком Пробуйте новые функции до их публикации и отправляйте отзывы разработчику. Присоединиться Узнать боль...
Трюк как листать газету,People,,Трюк, как листать газету))) очень умное изобретение)) ,
смотреть до конца.
подробнее»

газета как правильно листать газету 80lvl механизм geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор видео,video песочница

Трюк как листать газету,People,,Трюк, как листать газету))) очень умное изобретение)) , смотреть до конца.