Ничего не понял, но поржал почему-то
Весенние прохлады...
Сразу видно индийца.
Программерские шутки это всегда смешно.
шутка об отличиях между форматированием текста в средах разаработки для с++(конкретно visual studio c++, idea и другой шлак). лодку мне
во всех настраивается же.
просто у каждого разной степени упоротости предпочтения
просто у каждого разной степени упоротости предпочтения
ну так
ЭЭЭБЛЯ
Принесите мне ментоловый огнетушитель, пожалуйста? А то у меня и дом кривой, и джинсы обтягивающие с подворотами, и куча мужиков в одной кроватиT_T
Принесите мне ментоловый огнетушитель, пожалуйста? А то у меня и дом кривой, и джинсы обтягивающие с подворотами, и куча мужиков в одной кроватиT_T
Но работает же.
эклипс?
Да не парься, все самое адекватное в стиле кодирования показано максимально нелепо, а антипаттерны показаны якобы правильно.
if (some) - пробел после if нужен во имя отличия ключевых слов от вызовов функций. После имени функции в вызове пробел не ставится.
some *x - в С++, звездочка обязана стоять рядом с переменной, потому что хоть и не очевидно, но именно переменная становится указателем. Пример:
some *x, *y - все верно
some* x, y - теперь у нас x указатель, а y просто тип some, получилась хуета.
if (some) - пробел после if нужен во имя отличия ключевых слов от вызовов функций. После имени функции в вызове пробел не ставится.
some *x - в С++, звездочка обязана стоять рядом с переменной, потому что хоть и не очевидно, но именно переменная становится указателем. Пример:
some *x, *y - все верно
some* x, y - теперь у нас x указатель, а y просто тип some, получилась хуета.
Согласен, автор картинок дебил. Хотя про сокращение переменных и и имена предков с новой строчки правильно написал.
эта проблема существует только у тех, кому лень на декларацию каждой переменной писать свою строчку.
а насчёт указателей - тут уже кому как, для одних переменная указатель, для других это переменная указательного типа.
а насчёт указателей - тут уже кому как, для одних переменная указатель, для других это переменная указательного типа.
И мне тоже льда для охлаждения кресла захватите по тем же причинам
И заходишь домой такой с ппш на перевес поедая бутер колбасой на язык как матроскин учил и говоришь мужикам "збс"
Похоже, что я учился на программиста, чтобы понимать шутки в интернете...
Ты учился на программиста, чтобы понять, что человечеству пиздец будет нескоро.
Я выучился на программиста похоже только для того, чтобы понять, что даже если этот мир матрица, то это нихренашеньки ничего не меняет, в том плане, что не упрощает, скорее наоборот.
Это походу придумал ахуеено умный мудак который решил выебнуться своим остроумием. А я из-за подобного с парой ребят посрался на пустом месте.
стили форматирование это просто текст с пробелами. а посрались вы потому что вы все мудаки. только и всего
Про большую часть этого сказать не могу, потому что на пробелы мне немного похуй, но по поводу блочного форматирования и расстановки скобок очень хреново, если каждый в команде пишет так, как ему вздумается. Другому потом читать писанину другого ой как не просто. Так что это проблема и на самом деле серьезная, хотя для постороннего и не очевидная. Это на примере из трех строчек все понятно при любом форматировании, но программы очень редко бывают из трех строчек.
"Hello World"!
Каждый настраивает себе чтение в том виде в котором нравится и запись в принятом командой стандарте, и никому не надо себя ломать, по крайней мере в такой простоскриптуемой мелочи как расстановка скобок и пробелов. Никогда не понимал тех у кого с этим проблемы, вы блин программисты или кто?
ласкают слух звуки священной войны!
табы или пробелы ?
разделяйте как-нибудь картинки, а то я не с того поржал с начала :(
Это, наверное, лучшее наглядная визуализация программирования, для людей которые нихера не понимают в программировании.
Лучшая наглядная визуализация "как оправдать нечитаемость своего кода глупыми картинками про код других"
Мне показалось или тут к конструкции
int func{
//...
}
несколько предвзятое отношение?
int func{
//...
}
несколько предвзятое отношение?
Можно хоть int func{ sampletext } писать, просто выглядит как с подворотами
Можно писать так, как написано в гайдлайне/соглашении по коду конкретного проекта. Если там написано, что фигурная скобка после имени функции переносится на новую строку - значит переносится; написано, что не переносится - значит не переносится; ничего не написано - делай так, как уже есть в проекте, а если проект новый - на твое усмотрение.
Есть покруче тема для холивара - таб или пробелы, а если пробелы, то 4 или 8.
Есть покруче тема для холивара - таб или пробелы, а если пробелы, то 4 или 8.
4
4 таба? мсье знает толк!
undefined value
4 пробела) а 4 таба - это действительно из раздела BDSM. В основном М, но не суть.
1 пробел. И, да, я ненавижу людей и хочу, чтобы читающие мой код страдали. Ибо нефиг.
Слабак, если хочешь чтобы читающий действительно страдал пиши в одну строчку.
tab_to_spaces: true
spaces: 4
spaces: 4
Да это просто из разных coding conventions. Очевидно автор считает себя избранным, а привычный ему стиль - единственно верным.
как и большинство.
вот этим меня Python:
и радует )
и радует )
чёрт, реактор спёр 4 пробела во 2 строке.
вот этим питон и не радует :)
ну это русскоязычный сайт, радуйся что только пробелы спиздили
ты и на иностранных пробелы будешь терять, если специально не укажешь, что текст переформатировать не надо. это веб-технологии, а не Россия, детка.
Верно. Даже не просто профессиональный, а профессионально-срачный. Одно только требование открывающей фигурной скобки на одной строке с заголовком чего стоит. Типа ломоть колбасы класть на бутер целиком или разрезать пополам и разместить половинки диагональю.
Я 10 лет программирую и не могу сейчас уловить связи фигурной скобки и бутерброда. Проблема затрагивает исключительно удобнство визуального отделения блоков и количества строк кода. Мир поделился примерно так же, как поделились языки и их побочные эффекты.
Java - тормозная машина, полноценно работать на ней можно на компе с i7, fullhd моником (она очень многословная, просто ПИЗДЕЦ как). Поэтому там и сложилась традиция переносить скобку на новую строку, ну а чо - мониторы у всех збс.
То же самое пошло и в Си\С++.
Javascript - эра верстальщиков, front-end парней с хромобуками и нетбуками. Мало место на экране, сложилось популярное течение ставить скобки на той же строке.
Java - тормозная машина, полноценно работать на ней можно на компе с i7, fullhd моником (она очень многословная, просто ПИЗДЕЦ как). Поэтому там и сложилась традиция переносить скобку на новую строку, ну а чо - мониторы у всех збс.
То же самое пошло и в Си\С++.
Javascript - эра верстальщиков, front-end парней с хромобуками и нетбуками. Мало место на экране, сложилось популярное течение ставить скобки на той же строке.
Бутер был с посте для сравнения описания стиля. Логично, что для пользователя-разработчика существенны публичные элементы, но некоторые срать хотели на повторную применимость кода и ставят приватные элементы первыми, хотя они существенны для реализации, а не для использования.
Мой пример с бутером был о другом.
Мой пример с бутером был о другом.
Да я про пост и говорил, причем там этот бутерброд.
А на счет приватных полей - их конечно обязательно надо последними писать. Причина проста - когда другой разработчик открывает ваш класс, он ожидает по публичным полям и методам примерно понять схему работы этого класса. Поэтому в самом верху класса и должны идти все публичные поля и методы. Приватные - последними, а реализация функций вообще уносится в другой файл.
А на счет приватных полей - их конечно обязательно надо последними писать. Причина проста - когда другой разработчик открывает ваш класс, он ожидает по публичным полям и методам примерно понять схему работы этого класса. Поэтому в самом верху класса и должны идти все публичные поля и методы. Приватные - последними, а реализация функций вообще уносится в другой файл.
а как насчет такого варианта:
private
public
protected
?
private
public
protected
?
В этом варианте, когда я открою h файл с классом, я увижу вначале private раздел, который мне не нужен (закон инкапсуляции, реализация должна быть сокрыта)
public просто должен идти первым, а protected вторым. Только из за этого, чтобы открыли файл и сразу читали public и protected поля, а что там внизу файла - пофик.
public просто должен идти первым, а protected вторым. Только из за этого, чтобы открыли файл и сразу читали public и protected поля, а что там внизу файла - пофик.
когда я открываю чужой класс я хочу понять как он работает. А его публичный интерфейс мне intelisence покажет без открытия класса
Просто ваше желание не совпадает с желаниями комитета по стандартизации и сообщества Си.
Большая часть разработчиков на С\С++ использует sublime\vim\emacs без рюшечек, и они привыкли читать интерфейс класса по файлу.
Большая часть разработчиков на С\С++ использует sublime\vim\emacs без рюшечек, и они привыкли читать интерфейс класса по файлу.
Вот оно, новое поколение программистов...
сейчас дефолные форматтеры и эклипса и идеи скобку оставляют на той же строке
про сильно махровые времена врать не стану - не помню
про сильно махровые времена врать не стану - не помню
я про яву
дефолты - это дефолты. если фирма сказала: фигурные скобки на отдельной строке, каждый параметр функции на отдельной строке и отступ табом - соизволь выполнять.
у так фирма состоит из людей, можно и передоговориться
чаще договориться не смогли и сделали как в армии: пусть безобразно, зато единообразно
даже гугл так сделал
чаще договориться не смогли и сделали как в армии: пусть безобразно, зато единообразно
даже гугл так сделал
тогда необходимо правило: чужие пробелы/табуляцию - не править.
Не помню в какой книге дают совет: если будете обсуждать как делать отступы и где оставлять скобки, то никогда не сможете начать разработку.
Не помню в какой книге дают совет: если будете обсуждать как делать отступы и где оставлять скобки, то никогда не сможете начать разработку.
Эк как ты всех, использующих индийский код, в ебанаты прописал. А ведь они, при определённых условиях, получат больше денег.
Египтянин детектед.
Просто интересно, а что ты делаешь, когда у тебя в if условие такое длинное, что переходит на вторую строку?
if (some === 0 &&
some2 === 1) {
// так нельзя, сливается
}
if (some === 0 &&
some2 === 1)
{
// Бля, теперь у нас два стиля кодирования, ну как-так то, бля, ну как так
}
if (some === 0 &&
some2 ===1) {
// Мы просто поставим пустую строку, чтобы не сливалось.
}
У меня на JS автоформаттер настроен на строго скобку на линию, поэтому я ставлю пустую строку.
Ваш вариант в студию!
if (some === 0 &&
some2 === 1) {
// так нельзя, сливается
}
if (some === 0 &&
some2 === 1)
{
// Бля, теперь у нас два стиля кодирования, ну как-так то, бля, ну как так
}
if (some === 0 &&
some2 ===1) {
// Мы просто поставим пустую строку, чтобы не сливалось.
}
У меня на JS автоформаттер настроен на строго скобку на линию, поэтому я ставлю пустую строку.
Ваш вариант в студию!
а так не судьба?
var someCondition = ...
if(someCondition) {
someAction()
}
var someCondition = ...
if(someCondition) {
someAction()
}
Судьба,я так делал, пока не понял что заводить по переменной на каждый длинный if это уже реально какой то изврат.
зря перестал, в имени этой переменной можно написать, что это вообще такое
ну и вообще, что там в конце этого длинного ифа, важно не всегда. когда вчитываться будешь - тогда и проскроллишь, ничо страшного. сразу важнее охватить структуру кода взглядом, что ведет к большему приоритету компактности по высоте и единообразию - тогда охватить проще
ну и вообще, что там в конце этого длинного ифа, важно не всегда. когда вчитываться будешь - тогда и проскроллишь, ничо страшного. сразу важнее охватить структуру кода взглядом, что ведет к большему приоритету компактности по высоте и единообразию - тогда охватить проще
Не спорю, выносить длинный if в переменную это ок, просто дело вкуса.
может тогда вообще нахуй скобки, один хуй все вынесено, гулять так гулять ёба
я так и делаю, ниже срачик и по этому поводу, вливайся :)
прост тут someAction - это некий placeholder имелся в виду
прост тут someAction - это некий placeholder имелся в виду
boolean check1 = condition1;
boolean check2 = condition2:
boolean check3 = condition3;
if ( check1 && check2 && check3 ) {
//some action here...
}
boolean check2 = condition2:
boolean check3 = condition3;
if ( check1 && check2 && check3 ) {
//some action here...
}
а еще некоторые удивляются почему браузеру жрут по 8ГБ оперативки... тебя бы на микроконтроллеры с 1кб оперативки заставить писать
как раз в компилируемых языках это ничего не стоит жи
В с++ любой современный компилятор развернет все эти условия самым оптимальным образом, и от самих переменных check1/2/3 не останется и следа.
хз, почему тебя заминусили
хз, почему тебя заминусили
ниже за то же самое заплюсовали
реактор ¯\_(ツ)_/¯
реактор ¯\_(ツ)_/¯
код должен быть понятен человеку.
переменная boolean занимает 8 бит
а браузер жрет из за кеширования.
переменная boolean занимает 8 бит
а браузер жрет из за кеширования.
когда у тебя 32гб и i7-7700k - ты прав. когда у тебя мало оперативки и каждый такт на счету - приоритеты смещаются
возможно твой подход действительно лучше, в некоторых случаях.
многое зависит от контекста...
не напомнишь, какой оверхэд даёт именованная область памяти относительно неименованной в ассемблере?
Ну в описанной тобой ситуации и дикие, никак не портируемые, asm вставки вообще не редкость, которые творят внутри лютую магию, неочевидную вообще никому.
Такой код будет есть больше памяти и выполняться на несколько тактов дольше.
А если функция большая, то из-за нехватки регистров еще добавиться и обмен с внешней памятью и тут уже время выполнения увеличится на десятки тактов.
А если функция большая, то из-за нехватки регистров еще добавиться и обмен с внешней памятью и тут уже время выполнения увеличится на десятки тактов.
в современных процессорах существует конвеерная оптимизация,
сравнение if else обрабатываются задолго до того как начинают быть нужными, а потом только вставляются в нужный участок время-исполнения.
сравнение if else обрабатываются задолго до того как начинают быть нужными, а потом только вставляются в нужный участок время-исполнения.
Вы что-то путаете. Машинный код уже никак не оптимизируется. То что обе ветки if else начинают заранее обрабатываться - это да. Но бесполезное использование дополнительной памяти процессор никак не предугадывает.
>>никак не предугадывает
ну вобще это может зависеть от уставок компилятора
ну вобще это может зависеть от уставок компилятора
такие заявления хорошо бы дополнять описанием среды. далеко не везде короче код значит быстрее и меньше жрущий
даже в js щас повсеместно jit
даже в js щас повсеместно jit
Пишу на C под микроконтроллеры.
К JS имею отношение посредственное. Но, по моему, существование jit не оправдывает говнокода.
К JS имею отношение посредственное. Но, по моему, существование jit не оправдывает говнокода.
То есть дать сложному выражению понятное имя, которое упростит жизнь читающему код - это говнокод?
Да вы, батенька, небось и функции вручную инлайните, чтоб говнокода не было?
Вот не надо заветы микроконтроллерщиков тянуть в остальной мир.
Нормальный компилятор под популярную платформу сейчас творит чудеса и выкомпилит он эти лишние переменные из кода ко всем чертям. Особенно, если они использовались только в одном месте.
Да вы, батенька, небось и функции вручную инлайните, чтоб говнокода не было?
Вот не надо заветы микроконтроллерщиков тянуть в остальной мир.
Нормальный компилятор под популярную платформу сейчас творит чудеса и выкомпилит он эти лишние переменные из кода ко всем чертям. Особенно, если они использовались только в одном месте.
По идее, компилятор должен оптимизировать такие участки кода.
И на пару-тройку тактов если будет кеш-попадание в кеше 1-го уровня (а оно скорее всего будет, правда не прям сразу, а после первого кеш промаха)
и планировщик процессора перетасовывает оптимальным образом микрокод на конвеере (не машинные команды, а более низкоуровневая вещь).
и планировщик процессора перетасовывает оптимальным образом микрокод на конвеере (не машинные команды, а более низкоуровневая вещь).
Вы все говорите про опитимазцию, а на самом деле пиздец начался уже на уровне codeStyle. У нас на длинный if, просто потому что мы не придумали как переносить ебучую скобку, пришлось заводить аж ТРИ новых переменных. Это антипаттерн.
Это указание смысла выражениям. В нормальном коде они должны звучать не как var1, var2 и var3, а иметь название, которое поможет лучше разобраться в сути кода.
Например: (x != null && size(x) > 0) и xIsNotEmpty
Например: (x != null && size(x) > 0) и xIsNotEmpty
if (some == 0 ||
some2 ==1) {
// Мы просто поставим чуть более одного пробела, чтобы не сливалось.
}
WYSIWYG-редактор сожрал наши пробелы.
some2 ==1) {
// Мы просто поставим чуть более одного пробела, чтобы не сливалось.
}
WYSIWYG-редактор сожрал наши пробелы.
if (some === 0 &&
....some2 === 1) {
// вместо точек пробелы и или таб(парсер реактора сьедает пробелы)
//так можно и не сливается
}
....some2 === 1) {
// вместо точек пробелы и или таб(парсер реактора сьедает пробелы)
//так можно и не сливается
}
Неразрывные
не съедает.
не съедает.
хз,
у меня сьел. вот тут второй раз
у меня сьел. вот тут второй раз
 
извините, я в вебе не силен... для меня пробелы это " "
Ну когда я отправлял, как раз пробелы были. Проблема как раз в том и есть, что отступ есть в условии if на второй строке, и отступ в 2 - 4 пробела будет ниже в коде. Будет сливаться.
if (
some === 0 &&
some2 === 1 &&
some3 === 2
) {
//Проблемы?
}
some === 0 &&
some2 === 1 &&
some3 === 2
) {
//Проблемы?
}
еще скажи что не нужно всегда ставить фигурные скобки после ифов
Это третий способ отличить новичка от старпера.
Вот к сожалению нет, на моем проекте действует такой код стандарт и еще говорят что это офигенно :(
Тимлид вашего проекта новичок, и через пару лет работы в команде, когда в очередной раз он будет демажить баги, и вновь увидит, что кто-то второй строкой к однострочному if дописал вторую команду и не протестил - он решит, нахуй это все, откроет гугл, прочитает первые 10 статей, и в каждой ему напишут - поебать на выебон с одной строкой, пишите фигурные скобки _всегда_, иначе багов в команде не оберетесь, и тогда он и познает дзен.
или же он подумает головой, и не станет
одна строка после иф без скобок явно говорит о простоте описываемой конструкции
if(arg == null) return; // зачем тут что-то еще?
скобки вызовут недоумение: кто-то хотел туда что-то дописать и забыл? кто-то оттуда что-то удалил, но забыл скобки? кто-то что-то криво намержил? кто-то начитался про "правильные" кодстайлы?
одна строка после иф без скобок явно говорит о простоте описываемой конструкции
if(arg == null) return; // зачем тут что-то еще?
скобки вызовут недоумение: кто-то хотел туда что-то дописать и забыл? кто-то оттуда что-то удалил, но забыл скобки? кто-то что-то криво намержил? кто-то начитался про "правильные" кодстайлы?
if(arg == null) {
//просто return, нихуя больше
return;
}
//просто return, нихуя больше
return;
}
Я б за условный выход из функции вообще б убивал )
А тем более однострочное условие, когда return не всегда и заметишь на первый взгляд.
А тем более однострочное условие, когда return не всегда и заметишь на первый взгляд.
Вы сами можете открыть гугл и прочитать первые 10 статей. Нет, не вызывают они у джуниоров и мидлов недоумение, они просто ставят вторую строку и ломают программу.
15 лет программирую - ни разу не видел, чтобы кто-то дописывал второй строчкой команду после if и не приписал фигурных скобок.
Есть проблема, проект старый, продается, работает не 1 комманда, рекомендации от мсдна я уже скидывал.
Code conventions для лохов, давайте изобретем свой метод!
Квадратные колёса - это атавизм IE.
Поржал от души. спс.
А почему нет варианта, когда в классе отсутствует модификатор доступа private? Ведь запись
class MyClass
{
int a;
public:
int b;
};
эквивалентна
class MyClass
{
private:
int a;
public:
int b;
};
Да и вообще есть несколько разных распространённых вариантов, которые не вошли в картинки.
class MyClass
{
int a;
public:
int b;
};
эквивалентна
class MyClass
{
private:
int a;
public:
int b;
};
Да и вообще есть несколько разных распространённых вариантов, которые не вошли в картинки.
Вариант "по умолчанию" иногда игнорит стандарты. Лучше указывать область действия всегда от слова необходимо.
О как, буду знать.
Рекомендую книгу С. Макконнелла "Совершенный код". Ты кончишь усовершенствуешься после прочтения.
Отвечу напрямую чтобы продолжить тред. Простите, разве стандарт C++ не гарантирует, что после ключевого слова class открывается _приватная_ область видимости?
Нужно знать правило.
После struct - по умолчанию public, после class - private.
Нужно знать правило.
После struct - по умолчанию public, после class - private.
Прошу прощения, увидел, что это компилятор иногда игнорит стандарты. С моей точки зрения - нахуй такой компилятор. еще Линус однажды, когда gcc новой версии не смог собрать написанный по стандарту код - сказал, ваш компилятор кусок говна.
По умолчанию всё приватно. Это логично. Но при описании разработчик может много переопределить. Для повторного использования важны публичные элементы, а не приватные. В этом тоже есть логика.
Для примера: бухгалтер имеет цель содержать счета в секрете, но для налоговой важен доступ к счетам. Примерно так.
Для примера: бухгалтер имеет цель содержать счета в секрете, но для налоговой важен доступ к счетам. Примерно так.
еще про табы и пробелы не пошутили
На всех табов не напасёшься. Лучше пробелы.
вот и первый питонист :)
Суть в том, что табуляция - это, как правило, 8 пробелов. Поэтому код слишком быстро становится широким. В табуляции нет ничего плохого, но пробелы делают код компактнее.
сто лет не видел редактора, в котором бы не настраивалось
алсо широкие моники позволяют не думать о компактности вширь
алсо широкие моники позволяют не думать о компактности вширь
Впихнуть бы тебя в серверный nano
они пообещали убить твою собаку, если ты воспользуешься нормальным софтом?
вот кстати нагуглилось:
Edit your ~/.nanorc file (or create it) and add:
set tabsize 4
set tabstospaces
Edit your ~/.nanorc file (or create it) and add:
set tabsize 4
set tabstospaces
Бесят пробелы. Открываю код - а там отступы в 2 пробела (а бывает даже в 1). А я привык к отступам в 4. А табы были бы той длины, на которую они настроены в редакторе.
Солгласен. Один пробел - мало. Два - нормально для визуального разграничения. Четыре - неплохо, но уже широко, ИМХО.
два мало
4 ничо, 8 на широком монике - еще лучше
поэтому и лучше не прибивать гвоздями пробелов, а юзать настраиваемые табы
4 ничо, 8 на широком монике - еще лучше
поэтому и лучше не прибивать гвоздями пробелов, а юзать настраиваемые табы
Табы поедут в каком нибудь ненастроенном левом блокноте или онлайн редакторе.
так бери правый :)
Если у человека нет настраиваемого под кодинг редактора, то ему, скорее всего, нет нужды читать чей либо код.
Опять же, используемые только для отступов табы легко парой движений заменить на пробелы.
Опять же, используемые только для отступов табы легко парой движений заменить на пробелы.
Речь просто о возможности открыть код в случайном редакторе для быстрого прочтения или демонстрации, на ПК, на котором возможно и компилятора то нет.
Примеры:
Доступ владельца сайта к исходному коду стилей в wordpress из админки, ага, попробуйте там пожить с табуляциями.
Онлайн репозитории, github, bitbucket, etc.
Примеры:
Доступ владельца сайта к исходному коду стилей в wordpress из админки, ага, попробуйте там пожить с табуляциями.
Онлайн репозитории, github, bitbucket, etc.
Табы поедут, если программист не понимает, когда нужны табы, а когда пробелы, например
табы int x = 1,
табы пробелы y = 2; // y строго под x для любого размера таба
Поэтому, легче использовать пробелы, чем учить всех программистов правильно использовать табы.
табы int x = 1,
табы пробелы y = 2; // y строго под x для любого размера таба
Поэтому, легче использовать пробелы, чем учить всех программистов правильно использовать табы.
Настраиваемые табы - это эмуляция через пробелы. Так зачем платить больше?(с)
чтоб история гита не засирать переформатированием туда-сюда
за сахар? если компилятору все равно, то почему должны страдать люди?
2 пробела - самая распространенная практика в мире. Скорее твой tab в 4 пробела это что-то эксцентричное (хотя вполне норм в java, потому что там все зажрались на i7 и fullhd мониках кодить)
Сейчас многие зажрались. Для них и табы - норма.
Два пробела выдают человека, который собирается делать 10 вложенных скобок/блоков. Нахуй. Лучше такой код пусть станет нечитаемым из-за того, что уползет за край экрана.
но ведь word wrap.. ты им не пользуешься?
word-wrap при разборе кода? сразу вспоминаю работу nano в FreeBSD... только вышло предложение за строку и тут же hard-wrap. И похрен, что нужен soft-wrap.
Вы код в блокноте пишете? В той студии, где я работал, автопереноса строк не было, и мне даже странно слышать, что он кому-то из программистов нужен.
Это вроде как одно из первых требований к отображению кода - он должен отображаться всегда одинаково.
Это вроде как одно из первых требований к отображению кода - он должен отображаться всегда одинаково.
с каких это пор 2 пробела являются best practices? Всегда было 4 пробела. Табами уже никто и не пользуется, по большому счету. Весь опенсорсный код - 4 пробела. Как минимум это справедливо для Java, C, PHP.
Пробелы хуже табов тем, что их гораздо дольше корректировать, если нужно изменить отступ. Ну а преимущество пробелов - в стабильности. Поэтому, возможно, для опенсорсного кода есть смысл в пробелах, а вот в локальной команде я бы предпочел табуляцию.
Табы или пробелы - дело вкуса. В локальной команде, из проекта в проект, могут быть разные требования к оформлению кода. ИМХО, табы в коде излишние. Все, более менее адекватные, IDE умеют разруливать отступы в коде по настройкам, поэтому корректировка отступов не занимает какого-то дополнительного времени, а совместно с авто форматированием, так и вовсе позволяет не заморачиваться, что там у тебя, табы или пробелы.
Тебя бесят не пробелы, а мудаки, которые не умеют форматировать код в соответствии, хотя бы, стандартам языка. Привычка к отступам в 4 пробела - хорошая привычка, я свою команду дрессирую именно на 4 пробела и никаких табов, для этого пишутся соглашения по оформлению кода в команде. Для отступников - анальная кара.
а в этом есть какой-то смысл, кроме более частой "необходимости" применять анальные кары? ;)
Читаемость кода очень важна, без этого нормальную работу построить нельзя, там не только пробелы, там и наименования функций, классов, переменных, блочная структура кода, требования к документированию и так далее.
В частности, у меня в команде попался товарищ, у которого в редакторе не только стояло отображение табуляции в 6 символов вместо 4х по всех команде, но и автозамена табуляции на пробелы, из-за чего он просто стал портить весь код, который правил.
В частности, у меня в команде попался товарищ, у которого в редакторе не только стояло отображение табуляции в 6 символов вместо 4х по всех команде, но и автозамена табуляции на пробелы, из-за чего он просто стал портить весь код, который правил.
я исключительно про пробелы
чота все продолжают утверждать, что табы куда-то разъезжаются
чота у меня ничо никуда не разъезжается никогда
разве что эти люди пытаются юзать табы для чего-то кроме индентейшна - но это реально изврат :)
автозамена на пробелы - этот изврат придуман для любителей пробелов, это атавизм. жмакать таб удобнее, но нет, мы хотим пробелы, но не хотим их отстукивать!
были б у вас табы, чувак выставил бы длину таба хоть 6, хоть 7, и всё было бы норм у всех. на разных мониках, в разном софте - всё отлично настраивается
вот у меня, например, везде 4, кроме дифалки. в дифалке удобнее 8. потому что мне там важнее структуру видеть, чем чтоб в экран влезало.
чота все продолжают утверждать, что табы куда-то разъезжаются
чота у меня ничо никуда не разъезжается никогда
разве что эти люди пытаются юзать табы для чего-то кроме индентейшна - но это реально изврат :)
автозамена на пробелы - этот изврат придуман для любителей пробелов, это атавизм. жмакать таб удобнее, но нет, мы хотим пробелы, но не хотим их отстукивать!
были б у вас табы, чувак выставил бы длину таба хоть 6, хоть 7, и всё было бы норм у всех. на разных мониках, в разном софте - всё отлично настраивается
вот у меня, например, везде 4, кроме дифалки. в дифалке удобнее 8. потому что мне там важнее структуру видеть, чем чтоб в экран влезало.
сверху уже в комментах есть
Сколько же владык двоичного слова у реактора? Коха, Балабака... Есть ещё?
я мимокрокодил. к команде реактора отношения не имею
а вот Re-l вроде программист
а вот Re-l вроде программист
Re-I вроде даже тян. Но это интернет - правды нет.
Владык чего?
"Вначале было слово. Всего два байта."...
Для этого в любом цивилизованном проекте и языке есть кодстайл и гайдлайны. Всё, что в рамках проекта/языка соответствует стандарту - правильно и хорошо, всё, что не соответствует, надо переформатировать (а у белых людей это делается автоматически через IDE)
Итого: такие шутки и вопросы возникают только у грязных кодообезьян, а судя по "правильному" положению фигурной скобки ещё и сидящих на игле мелкософта
Итого: такие шутки и вопросы возникают только у грязных кодообезьян, а судя по "правильному" положению фигурной скобки ещё и сидящих на игле мелкософта
Про Винни-Пуха не согласен... уж лучше str чем string, которая в std валяется.
В посте половину можно откинуть. Автор оригинала скорее всего хотел в сарказм.
стоит заметить, что кодстайл зависит от языка, в с++ вообще ёбаный ад с этим, всяк воротит как хочет, а в java только нубы не знают кодстайл (узачи и кривой домик), и то только до первых пиздюлей со стороны более опытных коллег. Даже есть спека oracle об этом
Чтобы написать коммент, необходимо залогиниться