LINUX.ORG.RU

Так как пишу для себя,
1. Semicolon. Хотя JS и пытается стать максимально непохожим на C, фигурные скобочки у него есть, поэтому не хочу, чтобы была путаница между C/Java/PHP/JS/TS - я визуально переключаюсь только в совсем других синтаксисах, типа питона
2. Обычно 4, но если много вложенных блоков - 2.
3. 120
4. Примитивными классами как в питоне. Наследование, инкапсуляция, это всё мне нужно больше функциональщины.

Shadow ★★★★★
()

точку с запятой всегда в конце ставлю, как в пыхе (там она обязательна) #php

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

покажи мне кулхацкера, который так быстро программирует, что ему ; мешают!
Но, как тут выше написали, если бы было требование команды без ; то просто форматировал бы чем-нибудь автоматически перед коммитом и наоборот.

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

то просто форматировал бы чем-нибудь автоматически перед коммитом и наоборот.

Ну да. Это помогает жить в одной плоскости.

white_bull
() автор топика
Ответ на: комментарий от white_bull

В сабже можно только красиво разложить какахи по полу. Архитектура скриптов это особая дисциплина спецолимпиады. В самом языке тоже архитектурой не заморачивались. Всё сделано на коленке пьяным аспирантом.

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

Давай ты не будешь нагнетать? Это не 95 год ;)

white_bull
() автор топика
Ответ на: комментарий от Shadow

покажи мне кулхацкера, который так быстро программирует, что ему ; мешают!

Скажите, а нахрена вручную расставлять эту байду, если транслятор с этим легко справится сам? Там бесконечные транспиляции какие-то повсюду, но точку с запятой сцуко сам ставь!

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

Чего? Жопаскрипта? Смишная шютка.

Ну так. Если писать жопой, то и будет у тебя жопаскрипт.

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

да, лет пять. и ни разу не пожалел.

dib2 ★★★★★
()

Что касается мои предпочтений, то они специфически…

Да ладно:

  • Отступ два пробела;
  • Никаких точек с запятой. Я люблю Python: первое вытекает из последнего;
  • TypeScript, далее TS по тексту (прим. автора) - говно. Если бы он добавлял только тайп хинты и проверку типов, но нет в коде я вижу говно из интерфейсов и дженериков. Он по-мимо так-то относительно нужных вещей добавляет еще альтернативный синтаксис, которого нет в стандарте ECMAScript. Я писал с 2008 года на php и никогда динамическая типизация мне не мешала, и до сих пор не понимаю как можно вместо числа скормить функции объект и к каким это плачевным ошибкам может привести кроме падения с исключением. Его (TS) придумал один из создателей #C и отец Delphi. Цель: смягчить жопоболь любителей обмазываться шарпом и дро… Собственно, если любишь C# и Java, то пользуйся. Есть еще для таких любителей специальный фреймворк называется Angular на котором сейчас уже мало кто начинает новые проекты;

Если используешь Prettier, то правила типа таких:

arrowParens:  'always'
bracketSpacing: true
endOfLine: 'lf'
printWidth: 80
semi: false
singleQuote: true
tabWidth: 2
trailingComma: "es5"
useTabs: false

VS Code настроен на автоформатирование при сохранение, еще вдобавок часто сортирую подключаемые модули по алфавиту.

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

В большинстве языков рекомендуют использовать строки длинною не больше 80 символов, а отступы около 2-х. У того же Гугла такой стандарт для всех языков. Они даже питоновский код пишут с двумя пробелами, но для своего Go используют один таб. Объяснение: отображение таба в редакторах можно настроить как два или четыре пробела, что по мнению авторов языка решает всякие споры по этому поводу между шиза… программистами. Ну в IDE то да, если ее настроить на 2 пробела, то код выглядит компкатно, однако на гитхабе или гитлабе он будет вылезать за экран. Единственный язык где не решили сколько же символов должно быть в строке - это Java, потому что в Spring есть методы, чья названия больше 100 символов.

Для VSCode можно использовать такие настройки:

{
  "[go]": {
    "editor.insertSpaces": false
  },
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[python]": {
    "editor.tabSize": 4
  },
  "editor.codeActionsOnSave": {
    "source.organizeImports": true
  },
  "editor.formatOnSave": true,
  "editor.insertSpaces": true,
  "editor.minimap.enabled": true,
  "editor.renderControlCharacters": true,
  "editor.renderWhitespace": "boundary",
  "editor.rulers": [
    80,
    100,
    120,
  ],
  "editor.tabSize": 2,
  "editor.wordWrap": "on",
  "explorer.confirmDelete": false,
  "explorer.confirmDragAndDrop": false,
  "files.associations": {
    "*.jsonl": "json"
  },
  "files.autoSave": "afterDelay",
  "files.autoSaveDelay": 60000,
  "files.insertFinalNewline": true,
  "files.trimFinalNewlines": true,
  "files.trimTrailingWhitespace": true,
  // Очень важно отключить телеметрию!
  "telemetry.enableCrashReporter": false,
  "telemetry.enableTelemetry": false,
}

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

Совет поставить prettier и использовать дефолтные настройки я считаю правильным. А так-то у каждого языка есть свои традиции. http://ukupat.github.io/tabs-or-spaces/ тут можно посмотреть где табы, а где пробелы и сколько последних обычно. Чтобы не прослыть анкапом нужно подстраиваться под большинство. Если руководствоватьcя такой логикой, то два пробела.

ДОПОЛНЕНИЕ: на гитхабе полно старых проектов, раньше до 2010-х было принято использовать 4 пробела, потом когда появилась Node.js все начали подражать стилю ее стандартной библиотеки, а там 2 пробела. Что касается меня, то я с самого начала гугловые гаедлайны прочел и их придерживался (2 пробела).

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

В вопросе про анал, классику и ориентацию, то я не кезжу на самокате со смузи, вместо айфона у меня ксяоми, а вместо мака самосборный коробок с Арчем… А если серьзно, то по необходимости я использую функции либо классы. Пишу на Vue частенько: там компоненты вместо классов (совершается магия над объектами) вроде как ООП, а вроде и нет. На паттерны не надрачиваю, никогда их не учил, если и использую, то не ради паттернов, а потому что так проще. Касаемо, функционально стиля, то в коде можно увидеть часто такое:

  const componentName = removeExtension(fileName)
    .split('/')
    .slice(1)
    .map(upperFirst)
    .join('')

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

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