Стиль программирования
От: Аноним  
Дата: 07.08.02 09:32
Оценка:
1.
--------
if (...){
    .
    .
    .
}
else {
    .
    .
    .
}



2.
-----------
if (...)
{
    .
    .
    .
}
else 
{
    .
    .
    .
}


Какой стиль выбрать ? Мне кажется стиль 2 намного удобнее.

29.03.03 17:34: Перенесено из 'О жизни'
Re: Стиль программирования
От: Undutchable  
Дата: 07.08.02 09:38
Оценка:
Здравствуйте Аноним, Вы писали:

...
А>Какой стиль выбрать ? Мне кажется стиль 2 намного удобнее.


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


PS По стилю программирования, мне кажется, вопросы открываются в Прочем (или я не прав?)
Re: Стиль программирования
От: Bell Россия  
Дата: 07.08.02 09:47
Оценка:
Здравствуйте Аноним, Вы писали:

ИМХО второй нагляднее.
Любите книгу — источник знаний (с) М.Горький
Re[2]: Стиль программирования
От: Кодт Россия  
Дата: 07.08.02 10:07
Оценка:
Здравствуйте Undutchable, Вы писали:

А>>Какой стиль выбрать ? Мне кажется стиль 2 намного удобнее.


U>Я пользуюсь вторым, чтобы было проще отслеживать вложенные скобки.


И я тоже.

U>PS По стилю программирования, мне кажется, вопросы открываются в Прочем (или я не прав?)


Но это же стиль программирования на Си.
Перекуём баги на фичи!
Re: Стиль программирования
От: econt Украина http://cprime.110mb.com
Дата: 07.08.02 10:16
Оценка:
Здравствуйте Аноним, Вы писали:

А>1.

А>--------
А>
А>if (...){
А>    .
А>    .
А>    .
А>}
А>else {
А>    .
А>    .
А>    .
А>}
А>



А>2.

А>-----------
А>
А>if (...)
А>{
А>    .
А>    .
А>    .
А>}
А>else 
А>{
А>    .
А>    .
А>    .
А>}
А>


А>Какой стиль выбрать ? Мне кажется стиль 2 намного удобнее.


Я тоже для себя (давно уже) выбрал 2-й стиль. Даже сдается мне, что древние программисты (типа Кернигана и Ритчи) предпочитали именно этот стиль. Но не все так просто. Не так давно мне пришлось общаться с одной американской фирмой по написанию одной (не слишком сложной) программы. Так вот, одним из из условий было соблюдение ИХ стиля оформления исходного текста. Вот некоторые пункты (что помню):
1) if, while и т.д. должны иметь стиль, как у тебя стиль 1
2) после if, while, switch и т.д. должен быть один пробел, а уже затем открывающая скобка
3) отступы должны состоять из 4-х пробелов
4) комментарии подобно их примеру (сейчас уже не вспомню)
5) имена переменных должны быть в венгерской нотации (был пример)
Мне никогда не нравилась MFC. (c) Charles Petzold
Re[2]: Стиль программирования
От: Павел Кузнецов  
Дата: 07.08.02 10:28
Оценка:
Здравствуйте econt, Вы писали:

E>Я тоже для себя (давно уже) выбрал 2-й стиль. Даже сдается мне, что древние программисты (типа Кернигана и Ритчи) предпочитали именно этот стиль.

<...>

Вероятно, маэстро изволит шутить? (1) обычно именуется не иначе как K&R style, где буковка K означает Kernighan А, вообще, по этому поводу есть статейка в Jargon File.
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[2]: Стиль программирования
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 07.08.02 11:44
Оценка:
Здравствуйте econt, Вы писали:

E>Здравствуйте Аноним, Вы писали:


А>>1.

А>>--------
А>>
А>>if (...){
А>>    .
А>>    .
А>>    .
А>>}
А>>else {
А>>    .
А>>    .
А>>    .
А>>}
А>>



А>>2.

А>>-----------
А>>
А>>if (...)
А>>{
А>>    .
А>>    .
А>>    .
А>>}
А>>else 
А>>{
А>>    .
А>>    .
А>>    .
А>>}
А>>


А>>Какой стиль выбрать ? Мне кажется стиль 2 намного удобнее.


E>Я тоже для себя (давно уже) выбрал 2-й стиль. Даже сдается мне, что древние программисты (типа Кернигана и Ритчи) предпочитали именно этот стиль.


K&R стилем называется как раз первый.

Но не все так просто. Не так давно мне пришлось общаться с одной американской фирмой по написанию одной (не слишком сложной) программы. Так вот, одним из из условий было соблюдение ИХ стиля оформления исходного текста.

Где то я видел целую кучу автоматических расстановщиков стилей,
можно писать как хочешь а потом кодировать перед посылкой.

P.S. Я тоже предпочитаю второй, и вообще последнее время баланс
меняется в его сторону, притом прямопропорционально ширине
диагонали монитора. Одним из аргументов в ползу первого было
то что он не занимает лишнее место

if () {
}
это 2 строки

if ()
{
}

это 3.

С 25 строками на экране из которых под
редактор дано 15 это имело смысл,
а сейчас стало не сильно актуально.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re: Стиль программирования
От: Ибрагим Беларусь http://blogs.rsdn.org/ikemefula
Дата: 07.08.02 13:37
Оценка:
Здравствуйте Аноним, Вы писали:

Стиль программирования следует выбирать так:


1. Случай для одного разработчика.
Пиши как угодно. Лишь бы тебе было понятно. Некоторые из моих знакомы писали на Паскале в одну строчку.
Я использую 2, он нагляднее.
В древние временя я писал на Паскале и после каждого end писал коммент: end; {for} или end; {repeat}
Мои программы легко понимали челы даже отдаленно знакомые с Паскалем.
Иногда приходится переносить куски кода из одного проекта в другой и тд. В случае с 1 много непоняток с отслеживанием скобок.


2. Случай для группы разработчиков.
Использовать надо то, что выбрано всеми. Так понятнее. Многие конторы вводят обязательные правила для оформления программ.
MFC и MSCRT юзают 2.

3. Случай с STL. Там стиль Питоновский. Не очень наглядный, но есть свои преимущества. Ходят слухи, что это оттого, что STL рождалась Питоном. Вообще, при расширении библиотеки следует использовать тот стиль оформления, именования и тд., которого придерживались создатели библиотеки.

А>1.

А>--------
А>
А>if (...){
А>    .
А>    .
А>    .
А>}
А>else {
А>    .
А>    .
А>    .
А>}
А>



А>2.

А>-----------
А>
А>if (...)
А>{
А>    .
А>    .
А>    .
А>}
А>else 
А>{
А>    .
А>    .
А>    .
А>}
А>


А>Какой стиль выбрать ? Мне кажется стиль 2 намного удобнее.
Re: Стиль программирования
От: Frostbitten Россия  
Дата: 07.08.02 21:00
Оценка:
А с кейсами как быть?

1.
switch (a)
{
case 1:
    ...
    break;

case 2:
    ...
    break;
};


2.
switch (a)
{
    case 1:
        ...
        break;

    case 2:
        ...
        break;
};


3.
switch (a)
{
    case 1:
        ...
    break;

    case 2:
        ...
    break;
};


%)
Re[2]: Стиль программирования
От: Dr_Sh0ck Беларусь  
Дата: 08.08.02 05:01
Оценка: 9 (1)
Здравствуйте Frostbitten, Вы писали:

F>А с кейсами как быть?


[skipped]

Я вообще так пишу:
switch (a)
{
    case 1:
    {

        ...
        break;
    }

    case 2:
    {
        ...
        break;
    }
};
Do not fake yourself ;)
ICQ#: 198114726
Re[3]: Стиль программирования
От: Lefay Россия  
Дата: 08.08.02 05:08
Оценка:
Здравствуйте Dr_Sh0ck, Вы писали:

DS>Здравствуйте Frostbitten, Вы писали:


F>>А с кейсами как быть?


DS>[skipped]


DS>Я вообще так пишу:

DS>
DS>switch (a)
DS>{
DS>    case 1:
DS>    {

DS>        ...
DS>        break;
DS>    }

DS>    case 2:
DS>    {
DS>        ...
DS>        break;
DS>    }
DS>};
DS>


Ну да это есть стиль, который описан в явовской натации =)
Взойти на гору можно разными путями, но само восхождение остается неизменным.
Re[3]: Стиль программирования
От: Aquary Россия https://wmspanel.com/
Дата: 08.08.02 05:17
Оценка:
Здравствуйте Dr_Sh0ck, Вы писали:


F>>А с кейсами как быть?


DS>    case 1:
DS>    {

DS>        ...
DS>        break;
DS>    }


там { } не нужны, просто не зачем

я пишу
switch (a) {
    case 1:
        //
        break;
    case 1:
        //
        break;
    default:
        //
} //switch (a)


последний комментарий //switch — если switch вылазит за пределы экрана (применяю также и к остальным конструкциям)

case переносится на 4 символа для того, чтобы на одной вертикальной линейке были только открывающие и закрывающие конструкции (напр., switch и закрывающая скобка). То же правило и для остального, т.е. написав
if ()
{

}

на одной линии оказывается 3 элемента, а не 2.

Поэтому в предложенных 2-х вариантах всегда выбираю 2-й — меньше места, чем 1-й и одновременно понятен не меньше.
https://wmspanel.com/nimble — Nimble Streamer media server for live and VOD HLS, RTMP, HTTP streaming
https://wmspanel.com/ — Control and reporting panel for Wowza and Nimble Streamer
http://scm-notes.blogspot.com/ — Блог об управлении конфигурацией
Re[4]: Стиль программирования
От: Dr_Sh0ck Беларусь  
Дата: 08.08.02 05:34
Оценка:
Здравствуйте Aquary, Вы писали:

A>Здравствуйте Dr_Sh0ck, Вы писали:



F>>>А с кейсами как быть?


A>
DS>>    case 1:
DS>>    {

DS>>        ...
DS>>        break;
DS>>    }
A>


A>там { } не нужны, просто не зачем


A>я пишу

A>[ccode]

[skipped]

Во-первых красивее, во-вторых — это эе область видимости
Do not fake yourself ;)
ICQ#: 198114726
Re[5]: Стиль программирования
От: Aquary Россия https://wmspanel.com/
Дата: 08.08.02 06:02
Оценка:
Здравствуйте Dr_Sh0ck, Вы писали:


A>>там { } не нужны, просто не зачем

DS>Во-первых красивее, во-вторых — это эе область видимости

А зачем там область видимости?
Или ты собираешься там еще кучу переменных в каждый case вводить с одинаковыми названиями?
Да даже если и так? Отработав один case прога по break перейдет за пределы switch и они так и так уже не будут видны... Или я что-то упустил?
https://wmspanel.com/nimble — Nimble Streamer media server for live and VOD HLS, RTMP, HTTP streaming
https://wmspanel.com/ — Control and reporting panel for Wowza and Nimble Streamer
http://scm-notes.blogspot.com/ — Блог об управлении конфигурацией
Re[6]: Стиль программирования
От: Dr_Sh0ck Беларусь  
Дата: 08.08.02 07:50
Оценка:
Здравствуйте Aquary, Вы писали:

[skipped]

A>Или я что-то упустил?


Yah (Да, то есть )
Do not fake yourself ;)
ICQ#: 198114726
Re[3]: Стиль программирования
От: econt Украина http://cprime.110mb.com
Дата: 08.08.02 10:27
Оценка:
Здравствуйте Anatolix, Вы писали:

E>>Я тоже для себя (давно уже) выбрал 2-й стиль. Даже сдается мне, что древние программисты (типа Кернигана и Ритчи) предпочитали именно этот стиль.


A>K&R стилем называется как раз первый.


Да, что-то я забывать стал основоположников... Книжку эту я последний раз читал лет так 8 назад. Так что за замечание спасибо.
Мне никогда не нравилась MFC. (c) Charles Petzold
Re[2]: Стиль программирования
От: Lefay Россия  
Дата: 08.08.02 16:03
Оценка:
Здравствуйте Undutchable, Вы писали:

U>Здравствуйте Аноним, Вы писали:


U>...

А>>Какой стиль выбрать ? Мне кажется стиль 2 намного удобнее.

U>Я пользуюсь вторым, чтобы было проще отслеживать вложенные скобки.


Специально попробовал в своем текущем проете использовать оба эти стиля и сравнить их, надо отметить, что первый гораздо удобнее и наглядней, с использованием первого возникает эффект удлиннения блоков кода и хуже
охваьывается структура кода и логика, так что для логики полезней, на мой взгляд второй вариант, а для человеко/сторок конечно первый =)
Хотя это всего лишь мое мнение.
Взойти на гору можно разными путями, но само восхождение остается неизменным.
Re[7]: Стиль программирования
От: Aquary Россия https://wmspanel.com/
Дата: 09.08.02 02:22
Оценка:
Здравствуйте Dr_Sh0ck, Вы писали:

A>>Или я что-то упустил?

DS>Yah (Да, то есть )

Что?
https://wmspanel.com/nimble — Nimble Streamer media server for live and VOD HLS, RTMP, HTTP streaming
https://wmspanel.com/ — Control and reporting panel for Wowza and Nimble Streamer
http://scm-notes.blogspot.com/ — Блог об управлении конфигурацией
Re[8]: Стиль программирования
От: achp  
Дата: 09.08.02 05:38
Оценка:
Здравствуйте Aquary, Вы писали:

A>Здравствуйте Dr_Sh0ck, Вы писали:


A>>>Или я что-то упустил?

DS>>Yah (Да, то есть )

A>Что?


Ошибка компиляции: переход в обход инициализации объекта.
Re[9]: Стиль программирования
От: Aquary Россия https://wmspanel.com/
Дата: 09.08.02 05:52
Оценка:
Здравствуйте achp, Вы писали:

A>>>>Или я что-то упустил?

DS>>>Yah (Да, то есть )
A>>Что?
A>Ошибка компиляции: переход в обход инициализации объекта.

Ты про что? откомпилил (изменив case 1 на case 2 ), заработало...
https://wmspanel.com/nimble — Nimble Streamer media server for live and VOD HLS, RTMP, HTTP streaming
https://wmspanel.com/ — Control and reporting panel for Wowza and Nimble Streamer
http://scm-notes.blogspot.com/ — Блог об управлении конфигурацией
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.