LINUX.ORG.RU
ФорумTalks

Верблюды для кода

 


0

0

Предположим, вам дали бы выбор из двух вариантов: использовать в коде ТОЛЬКО UpperCamelCase или ТОЛЬКО lowerCamelCase (т.е. это теоретический, а не реальный юзкейс). Что лучше с вашей точки зрения и почему?

Просто был удивлен, недавно, что оказывается есть люди которым «нижний верблюд» не нравится.

Deleted

Последнее исправление: myLogin (всего исправлений: 3)
Ответ на: комментарий от Iron_Bug

Как это связано с именем переменной?

а в чём ещё могут быть проблемы с длиной?

«Если я чего-то не знаю, значит этого не существует». Окей.

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

Зато у вас маниакальная тяга к категоричности и крайности.

и да, внутри функций отличные названия переменных i, j, k.

Надеюсь, ваш write only код поддерживаете толко вы?

при этом функция должна влезать в один экран, в идеале.

Да, я помню эту мантру из 80х.

andreyu ★★★★★
()

Кэмелкейсофобия — это такая патология, о которой больной не может не заявить в этом треде.

nezamudich ★★
()
Ответ на: комментарий от andreyu

Надеюсь, ваш write only код поддерживаете толко вы?

отнюдь. с кодом проблем нет. более того, я строго придерживаюсь правил написания кода, обозначенных в кернеле. если бы вы хоть раз залезли в кернел, то увидели бы, что там нет никаких километровых названий. и внутри функций никаких «говорящих переменных» от любителей достоевщины тоже нет. и тем более там нет верблюдов. никаких вообще. потому код и читается легко и практически не требует документирования.

Да, я помню эту мантру из 80х.

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от Iron_Bug

что там нет никаких километровых названий.

А где есть? Что у вас за мания бросаться в крайности?

и тем более там нет верблюдов. никаких вообще.

Это говорит лишь о принятом стиле форматирования кода. Ни к качеству, ни к читабельности это никакого отношения не имеет.

потому код и читается легко и практически не требует документирования.

Документации, да и комментариев в коде ядра выше крыши.

это не «мантра из 80х».

Это именно мантра 80х, когда мониторы были маленькие и пузатые, как аквариумы, а разрешение было низкое. Что такое «функция должна влезать в один экран» в современном мире? При каком разрешении, с каким размером знакоместа, с каким количеством строк?

Чем больше читаю ваши комментарии, тем больше убеждаюсь в вашей неадекватности.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Это говорит лишь о принятом стиле форматирования кода. Ни к качеству, ни к читабельности это никакого отношения не имеет.

нет. этот стиль принят неспроста. и код очень хорошо читаем и понятен. и комментариев там очень немного, кстати.

При каком разрешении, с каким размером знакоместа, с каким количеством строк?

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)

UpperCamelCase для названий классов
lowerCamelCase для названий методов и переменных

Никакой венгерской нотации и подобного мусора

I60R ★★
()

Если смешивать нельзя, то UpperCamelCase. Причин на то несколько.

  • В ястественных языках (русском и английском уж точно), если используются оба регистра, то верхний обязательно ставится в начале предложений и названи.
  • В lower бесит что someValue и getSomeValue различаются. Нельзя из имени поля получить метод, просто дописав префикс, нужно еще первую букву править.
  • Привычка.
German_1984 ★★
()
Ответ на: комментарий от I60R

Венгерская нотация - это не мусор, просто менеджеры МС ее не поняли и извратили. Венгерская нотация - это namespace, для которого в C нет специальных конструкций. Т.е. это семантический тип, а не языковой.

German_1984 ★★
()
Ответ на: комментарий от Iron_Bug

нет. этот стиль принят неспроста.

Вкусовщина. Предлагаю вам вылезть из землянки и оглядеться вокруг.

и код очень хорошо читаем и понятен.

«Я вся такая продвинутая, легко читаю код линуксового ядра». Понт засчитан.

и комментариев там очень немного, кстати.

Ой, вы точно видели линуксовое ядро? В совокупности с «короткие имена и комментариев немного», я очень в этом сомневаюсь.

При каком разрешении, с каким размером знакоместа, с каким количеством строк?

буквоедство - не признак ума.

Где вы узрели буквоедство?

но хорошо. я дам вам точные цифры, если без этого ваш мозг не способен осилить идею.

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

40x80 символов. классика. этого, представьте себе, хватит для подавляющего большинства функций при правильном структурировании кода.

Вот я и говорю, «мантра 80х».

andreyu ★★★★★
()
Ответ на: комментарий от I60R

Никакой венгерской нотации

Вы просто из тех, кто не различает «системную венгерскую» и «венгерскую для приложений» - Нужны ли на лоре смайлы к постам? (комментарий)

и подобного мусора

Приведите пример именования переменных, который вы считаете правильным.

andreyu ★★★★★
()
Последнее исправление: andreyu (всего исправлений: 1)
Ответ на: комментарий от andreyu

вкусовщина - это ваши попытки втирать тут про «пользу» верблюдов. а есть просто реальные вещи, которые существуют много лет и всех устраивают.

Понт засчитан.

при чём тут понт? я работала системным программистом много лет, в том числе писала дрова под Linux, патчила ядро под разные специфические процессоры. внезапно, для этого надо читать код ядра. а ваши фантазии оставьте при себе. и да, я продолжаю читать код ядра, потому что мне надо понимать, что там добавляется и как оно работает, для работы.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

вкусовщина - это ваши попытки втирать тут про «пользу» верблюдов.

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

а есть просто реальные вещи, которые существуют много лет и всех устраивают.

У вас какая-то мания бросаться из в крайности в крайность и судить о других по себе.

при чём тут понт? я работала системным программистом много лет, в том числе писала дрова под Linux, патчила ядро под разные специфические процессоры.

Больше понтов богу понтов.

внезапно, для этого надо читать код ядра.

Скажите это себе, фантазерка.

а ваши фантазии оставьте при себе.

Это не мои фантазии, а факты - в ядре есть и комментарии, и длинные имена.

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

Что-то ваши утверждения никак не соответствуют фактам.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

лишь говорю, что для меня они приятнее

и это ничего не значит, кроме вкусовщины. а я говорю, что мне «приятнее» нормальный чистый код в стиле кернела. вот и всё.

Что-то ваши утверждения никак не соответствуют фактам.

факты таковы, что в 1999 году я получила высшее образование по профилю математика и системное программирование и с того самого времени я работала программистом, преимущественно системным, и разработчиком электроники. в последние годы я перешла из разработки харда в чистое программирование, но моя деятельность напрямую связана с протоколами низкого уровня и я иногда лезу в ядро, если это требуется. не вижу тут никаких «понтов». понты - это ваше тут выпендривание против стандартов, которые существуют десятки лет.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

и это ничего не значит, кроме вкусовщины.

Бинго, до вас начинает доходить.

а я говорю, что мне «приятнее» нормальный чистый код в стиле кернела. вот и всё.

Но при этом рассказываете совсем о другом «нормальном чистом коде».

факты таковы, что в 1999 году я получила высшее образование по профилю математика и системное программирование и с того самого времени я работала программистом,

И о чем это должно говорить?

и я иногда лезу в ядро, если это требуется.
иногда лезу в ядро

Теперь понятна причина ваших крайностей. «Видела хвост слона, слон похож на змею» (с) индийская мудрость.

понты - это ваше тут выпендривание против стандартов, которые существуют десятки лет.

Каких стандартов, болезная? Пора высунуть голову из землянки и оглядеться вокруг.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

И о чем это должно говорить?

наводящий вопрос: что делают системные программисты? ответ: системные программисты в основном пишут драйверы. чем я, собственно, и занималась много лет, кроме прочего софта, который работал с железом, напрямую или через разные протоколы. ещё прошивки. и сборки для разного эмбеддеда. и внезапно для этого всего надо лазить в кернел и в нём ориентироваться. как-то так. и вот конкретно сейчас у меня задача тоже связана с кернелом и его внутренностями. но все разработки, которыми я занималась, это DND и я распространяться об этом не собираюсь. да мне это и не нужно.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

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

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

и внезапно для этого всего надо лазить в кернел и в нём ориентироваться.

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

andreyu ★★★★★
()
Ответ на: комментарий от German_1984

Понял. Ну в Kotlin, Java и Rust — по моему мусор; в C может быть так удобнее, прошу прощения

I60R ★★
()
Ответ на: комментарий от andreyu

«венгерская нотация для приложений» — правильно, «системная венгерская» — нет (например mTextView и т.д. в Android приложениях)

I60R ★★
()
Ответ на: комментарий от I60R

Полностью согласен. То, что может отследить компилятор и ide, должны отслеживать они, а не программист.

German_1984 ★★
()
Ответ на: комментарий от I60R

«венгерская нотация для приложений» — правильно, «системная венгерская» — нет (например mTextView и т.д. в Android приложениях)

Спасибо, Кэп.

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.