[Ответить в тред] Ответить в тред

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 51 | 5 | 23
Назад Вниз Каталог Обновить

Ставим скобочки правильно Аноним 29/04/16 Птн 11:35:43  730397  
Смотри, программач.
Тут я буду рассказывать как правильно писать кодю
(Автор этого поста был предупрежден.)
Объявление методов Аноним 29/04/16 Птн 11:37:12  730401
Не правильно
void method(...)
{
...
}
Не надо так делать. Так делают только спермодебилы и им сочувствующие.

Правильно
private void method(...) {
...
}
Блок if Аноним 29/04/16 Птн 11:39:19  730402
См объявление методов

Не правильно #2
if(...)
method(...);
За такое нужно однозначно бить с вертухи.

Правильно #2
Если в блоке одна строчка и она вместе с if влазит в 80 симоволов, можно писать одной строкой не ставя фигурных скобок.
if(...) method(...);
Имена интерфейсов Аноним 29/04/16 Птн 11:43:41  730408
Не правильно
public interface IInterface {...}
Это полная хуйня.

Правильно
public interface Interface {...}
Если проблемы с фантазией и не можете сказать как будет называться класс реализующий интерфейс, можно назвать его InterfaceImpl.

Также желательно не ставить модификаторы доступа для методов.
Аноним 29/04/16 Птн 11:46:34  730414
>>730401
Надо так:
def f():
    return nikakih_skobok
Аноним 29/04/16 Птн 11:48:01  730417
14619196812660.jpg (94Кб, 503x711)
>>730408
ой, блядь, у тебя там память не заканчивается?
Аноним 29/04/16 Птн 11:51:02  730420
>>730397 (OP)
Нахрен ты этот петушиный язык сюда притащил... Лучше шотиков покидай :3

мимо Scala-господин
Аноним 29/04/16 Птн 11:51:25  730421
>>730401
> Так делают только спермодебилы
> Стиль используемый в linux kernel
Ясно.
Аноним 29/04/16 Птн 11:56:21  730425
>>730401
Ой, кто это у нас закукарекал, да это же ЖАБАПЕТУШОК!
Аноним 29/04/16 Птн 12:16:17  730436
>>730401
И сразу сажаскрыл.
Аноним 29/04/16 Птн 12:17:20  730437
>>730397 (OP)
Скрыл.
Аноним 29/04/16 Птн 15:46:49  730523
>>730402
Только так:
if(...) {
method(...);
}
либо первый вариант если питухон, иначе в обеих случаях прийдется делать перенос/проставлять скобки если нужно будет расширить блок, и вообще однострочники - говноедство.

> Если в блоке одна строчка и она вместе с if влазит в 80 симоволов
А если не влазит то применять разное форматирование? Ясно.
А теперь главный вопрос... внимание... Аноним 29/04/16 Птн 15:48:23  730526
Таб или 4ре пробела?
Максимальная длина строки в коде. Часть 1. Объявление методов Аноним 29/04/16 Птн 15:50:07  730527
Итак, продолжим.

1. Само собой, в строке кода должно быть не больше 80 символов.
2. Нет ничего плохого в длинных именах для классов.

Учитывая 2 пункта выше, если объявление метода не умещается в 80 символов, можно писать по 1(ОДНОМУ) аргументу на каждой строке. Обратите внимание при этом что первый аргумент должен также находиться на новой строке, а после последнего аргумента должна стоять закрывающая скобка, пробел и открывающая фигурная скобка.
Если и это не помогло, то можно оставить как есть.

Не правильно #1
public void getBridgeIteratorMapperInterruptibleConnection(long descriptorId, int timeout, boolean socketTimeout)
{
...
}

Не правильно #2
public void getBridgeIteratorMapperInterruptibleConnection(long descriptorId, int timeout,
boolean socketTimeout)
{
...
}

Не правильно #3
public void getBridgeIteratorMapperInterruptibleConnection(
long descriptorId, int timeout,
boolean socketTimeout)
{
...
}

Почти правильно
public void getBridgeIteratorMapperInterruptibleConnection(
long descriptorId,
int timeout,
boolean socketTimeout
) {
...
}

Правильно
public void getBridgeIteratorMapperInterruptibleConnection(
long descriptorId,
int timeout,
boolean socketTimeout) {
...
}
Аноним 29/04/16 Птн 15:55:14  730530
>>730526
Использовать только пробелы. Мне нравится, например, 2.
Аноним 29/04/16 Птн 16:06:20  730540
>>730526
Но ведь среда и так все проставит, какая разница?
Аноним 29/04/16 Птн 16:44:40  730558
>>730401
ты считаешь это не правильным по какой причине?
Аноним 29/04/16 Птн 16:56:13  730565
14619381734350.png (8Кб, 1774x61)
>>730402
>Если в блоке одна строчка и она вместе с if влазит в 80 симоволов, можно писать одной строкой не ставя фигурных скобок.
Двачую этого дона.
Аноним 29/04/16 Птн 16:59:39  730569
>>730558
Это не совсем не правильно. Просто зачем отдавать под один знак целую строку.
Аноним 29/04/16 Птн 17:02:44  730574
>>730569
>Просто зачем отдавать под один знак целую строку.
Для лучшей читаемости.
Аноним 29/04/16 Птн 17:03:21  730575
Ты блять что бумагу экономишь? Ору, блять.
Аноним 29/04/16 Птн 17:13:17  730582
>>730526
Пробелы.
Аноним 29/04/16 Птн 17:13:38  730584
>>730526
Пеп, вроде, говорит, что пробелы
Аноним 29/04/16 Птн 17:14:49  730585
>>730527
lowerCamelCaseLooksLikeShit
Аноним 29/04/16 Птн 17:21:42  730595
>>730575
Вообще-то такой стандарт написания скобок был принят еще в середине девяностых, все нормальные люди им пользуются уже много лет.
Аноним 29/04/16 Птн 18:27:44  730651
>>730408
Покормлю:
Наличие/отсутсвие Impl в конце названия гораздо сложнее увидеть, чем I/A в начале.
В исходниках Clojure, например, используется дотнетовский конвеншнен.
Аноним 29/04/16 Птн 19:12:51  730675
>>730527
Ближе к истине - https://ideone.com/uFlu3d , но когда ты жабоговноед с "getBridgeIteratorMapperInterruptibleConnection" вместо названия метода то приходится извращаться.

>>730585
Двачну.
Аноним 29/04/16 Птн 19:50:30  730697
>>730595
> жабопетухи
> нормальные люди
Аноним 29/04/16 Птн 19:52:02  730698
>>730526
Пробелы, 5 штук.
Аноним 29/04/16 Птн 19:55:36  730702
14619489365480.jpg (14Кб, 273x240)
>>730698
> 5 штук
Аноним 29/04/16 Птн 19:55:39  730703
О операторы и программисты!
Познанье кода - путь тернистый,
И есть Ваш крест. Позвольте ж мне
Означить путь Вам в этой мгле:
Пишите только на PASCAL'е,
Иль обзовут Вас сосунками,
Коль захотите Вы в запале
Испытать себя в FORTRAN'е.
Пишите с толком, аккуратней,
Чем больше GOTO, тем приятней,
И Боже Вас упаси
Программировать на Cи.
От необузданной той страсти
Пойдут и горе и напасти,
И не насытит Вас тогда
ООП-овская ерунда.
ООП, рекурсии, структуры,
Пройдут и канут без следа,
Когда пред Вами встанут КОДЫ,
Всплывут утраченные годы.
Ну что ж, сидите, жмите кнопки,
Глазейте на цветные попки,
Хоть не познали Вы дескриптора,
Все ж ПРИВЕТ Вам от VIСTOR'а!

компьютерный вирус 90-х
Аноним 29/04/16 Птн 19:56:19  730705
>>730702
ок, тогда 7
Аноним 29/04/16 Птн 19:56:52  730706
14619490128140.jpg (146Кб, 1280x720)
>>730705
Аноним 29/04/16 Птн 21:43:11  730795
>>730703
Ностальгично, но стихи не оче.
Аноним 29/04/16 Птн 22:53:12  730843
Вброшу свои пять копеек, и поделюсь своим золотым правилом:
NO REUSE = NO EXTRACT
Это значит, если некое уебище, наглотавшись поноса дядюшки Боба, предлагает взять нормальный кусок кода раздристать его по сотням однострочных методов и десяткам классов - можете смело посылать его на хуй. Делать этого нельзя ни в коем случае, т.к. это полный ебанизм.
Аноним 29/04/16 Птн 23:08:42  730844
>>730843
Лабу дописал?
Аноним 29/04/16 Птн 23:11:28  730849
>>730844
Первый дибилка.
Аноним 29/04/16 Птн 23:13:09  730850
>>730849
Видимо, дописал. Тогда спать иди, завтра на пары.
Аноним 29/04/16 Птн 23:16:33  730852
>>730850
По субботам выходной же.
Аноним 29/04/16 Птн 23:26:03  730864
>>730852
Нихуя, что за шарага такая?
Аноним 29/04/16 Птн 23:35:12  730876
>>730843
и сразу нассу в рот быдлокодеру, не осилившему декомпозицию, структурирование и как следствие тесты и рефакторинг
дай угодаю, ты байтодаун или цпп-опущ?
Аноним 30/04/16 Суб 01:39:29  730940
14619695691230.png (31Кб, 929x922)
>>730864
Физтех
>>730876
А ты значит жаба-дибил или раби-гей?
Аноним 30/04/16 Суб 02:28:48  730958
>>730876
>тесты
Ты имеешь в виду assert(1+1==2)-тесты? Просто нормальные тесты тестируют функциональность и не имеют никакого отношения к структуре кода вообще.
Аноним 30/04/16 Суб 04:11:10  730992
>>730940
Скрин письма Кармака.
Максимальная длина строки в коде. Часть 2. Вызов методов Аноним 30/04/16 Суб 13:57:27  731166
Вызов методов очень похож на объявление методов, за исключением того что после последнего аргумента должна идти новая строка. Это сделает код более уютным.

Правильно
getBridgeIteratorMapperInterruptibleConnection(
descriptorId,
config.getTimeout(),
config.socketTimeout()
);
lowerCamelCase Аноним 01/05/16 Вск 18:56:57  732012
Если вы не хотите быть спермодебилом, никогда не забывайте что имена классов начинаются с большой буквы, а имена методов - с маленькой. Каждое слово в имени метода, за исключением первого, начинается с большой буквы. Каждое слово в имени класса начинается с большой буквы.

Не правильно #1
public class myclass {

public void mymethod() {
...
}

}

Не правильно #2
public class MyClass {

public void MyMethod() {
...
}

}

Правильно
public class MyClass {

public void myMethod() {
...
}

}
Аноним 01/05/16 Вск 19:05:51  732019
>>730574
Если читая решил проскроллить код, глаз цепляется за почти пустую строку. Это плохо - так нельзя. Пустые строки внутри метода при этом проще отфильтровать - там отступы сбоку, сразу видно.
Аноним 02/05/16 Пнд 06:21:04  732262
>>732012
>MyClass
t_MyCls
>void myMethod()
void mymtd()
l3rn 2 C fgt
Аноним 02/05/16 Пнд 08:55:25  732268
Я походу спермодебил.
void mthd()
{
чотатам
}

Классы не с большой буквы. Почему int и void с маленькой, а классы с большой?

Подчеркивания вместо верблюда.
Аноним 02/05/16 Пнд 10:32:48  732315
>>732268
кажется, у вас пхп
Аноним 02/05/16 Пнд 11:23:10  732333
>>730705
prime minister
Аноним 02/05/16 Пнд 12:29:26  732378
>>732315
Не то чтоб это что-то плохое :3

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 51 | 5 | 23
Назад Вверх Каталог Обновить

Топ тредов