Current time: 20.04.2024, 09:29 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
С++, общая тема
Author Message
packa Offline

Posts: 1210
Post: #181

Quote:Тело какого-то блока всегда должно отделяться табуляцией от его заголовка, а у тебя даже на последнем скриншоте оно стоит на той же самой вертикали.
Он тогда слишком уходит вправо, из-за чего даже поскроллить не получается - двойной скролл по вертикали и горизонтали.
Quote:Да и большинство программистов (в том числе и я) всё-таки отдают "открывающей скобке" целую строку, хотя это дело вкуса.
Хм, специально поднимал этот вопрос(везде где только мог) ), большинство мне сказало что открывающую лучше всего ставить в той же строке, что и заголовок. Хотя тут наверное больше как понравится. Нужно пробовать)
Quote:На кой чёрт они объявлены внутри h-файла, когда больше никаких cpp-шников у тебя нету?
Удобно же - все переменные там, в любой момент можно посмотреть где какая. Специльное место для них) Отдельно и цивильно так сказать Sm
Quote:Не говоря уже про то, что глобальные переменные сами по себе не есть гут.
Почему? Тогда остро стоит проблема доставание или передача в цикл. А тут элементарно - где хочешь там и вызывай.
Quote:Глянул код - и точно, в нём в четырёх местах используется new, но нету ни одного delete...
А вот с этим не знаком Sm блок с картинками просто копировал, но как он подлинно работает не знаю.
   

Quote:Через неделю отпуск, тогда уж точно гляну (а может, и раньше).
Пока лишь бросилась в глаза пара нюансов:
Не над, этого пока вполне достаточно. Этого и хотел)


подпись была удалена администрацией
просьба не использовать картинки с сайта heroeslibrary.net, так как на них ругается Chrome
16.04.2012 21:17
Find all posts by this user Quote this message in a reply
Efrit Offline
Administrators

Posts: 6183
Post: #182

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

Quote:Хм, специально поднимал этот вопрос(везде где только мог) ), большинство мне сказало что открывающую лучше всего ставить в той же строке, что и заголовок. Хотя тут наверное больше как понравится.
Почти во всех IDE по C++ обе скобки по умолчанию выделяются в отдельные строки. Думаю, что это о чём-то говорит. Хотя, например, на MSDN большинство кода написано иначе...

Quote:Удобно же - все переменные там, в любой момент можно посмотреть где какая. Специальное место для них) Отдельно и цивильно так сказать.
Когда код чужой, а переменных много - то это нифига не удобно. Не говоря уже про то, что это нарушает принцип инкапсуляции. Любой объект (в том числе и переменная) должен быть доступен лишь в той части кода, где он действительно необходим - и точка. В остальных участках кода он не должен быть виден.

Quote:Почему? Тогда остро стоит проблема доставание или передача в цикл. А тут элементарно - где хочешь там и вызывай.
Мне лень расписывать, "почему". Погугли, об этом до меня ещё тысячу раз говорили. А главная причина всё в том же - ухудшается инкапсуляция. А в C++, абсолютно любой код можно написать вообще без какого-то использования глобальных переменных.

Quote:А вот с этим не знаком Sm блок с картинками просто копировал, но как он подлинно работает не знаю.
new - выделяет блок памяти в ОЗУ, необходимый для создания объекта используемого класса, и вызывает конструктор этого класса.
delete - вызывает деструктор используемого класса, и затем очищает ранее использованную область памяти.


Welcome to the soldier side,
Where there is no one here but me.
People all grow up to die,
There is no one here but me...
16.04.2012 21:43
Find all posts by this user Quote this message in a reply
Efrit Offline
Administrators

Posts: 6183
Post: #183

Пакка, вот тебе хорошая статья, в которой наглядно объясняется, почему глобальные переменные - зло.
Там, правда, примеры приводятся на Делфи - но суть от этого не меняется.


Welcome to the soldier side,
Where there is no one here but me.
People all grow up to die,
There is no one here but me...
16.04.2012 22:27
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #184

(16.04.2012 20:25)Efrit Wrote:  - форматирование кода.
это особая, уличная магия стиль Пакки: у команды, которая применяется к блоку, такой же отступ, как и у блока. мутноъ!
(16.04.2012 20:25)Efrit Wrote:  Да и большинство программистов всё-таки отдают "открывающей скобке" целую строку
не льсти нам, еретиков больше, чем ты думаешь.
(16.04.2012 20:25)Efrit Wrote:  Не говоря уже про то, что глобальные переменные сами по себе не есть гут.
ну смотря когда. иногда можно и сделать одну. errno же
(16.04.2012 21:17)packa Wrote:  большинство мне сказало что открывающую лучше всего ставить в той же строке, что и заголовок
это еретики K&R. выбирай. рекомендую стиль Олмана
(16.04.2012 21:17)packa Wrote:  Тогда остро стоит проблема доставание или передача в цикл.
подробнее, в чем именно проблема?
(16.04.2012 21:17)packa Wrote:  блок с картинками просто копировал, но как он подлинно работает не знаю.
код в студию


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
16.04.2012 23:47
Find all posts by this user Quote this message in a reply
NIKr0m@nceR Offline

Posts: 203
Post: #185

По поводу стиля могу сказать, что по некоторым причинам я изменил стил написания кода с саморощенного с кучей вертикальных пробелов на то что рекомендуется в гугл-стайлгайде, и сейчас понимаю как удобно скобку ставить на той же строке. На экран тупо больше вмещается с одной стороны а с другой первые строки функции (по крайней мере у меня) не путаются с заголовком. вот.
17.04.2012 01:04
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #186

с каким еще заголовком?

googlecode Wrote:Spaces vs. Tabs
Use only spaces, and indent 2 spaces at a time.
FFFFUUUUUUUUUUUUUUUU!!!!!! ничего не разберешь же


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
(This post was last modified: 17.04.2012 02:25 by gamecreator.)
17.04.2012 02:21
Find all posts by this user Quote this message in a reply
NIKr0m@nceR Offline

Posts: 203
Post: #187

ну в смысле
void do_something_awesome (double with_this, char* and_this) {
    //Some extraordinry stupid bytes of code with no effect
}
а при переносе скобки 1-я строка станет явно отделенной от второй. на мой взгляд итак ок.
а про табы - ну, очевидно, что надо пробелы тыкать (универсальность там прочая фигня, править удобно) а сам я с детства на 3-х был. когда вижу табуляции по 6 пробелов у меня глаза разъезжаются и я ниче не понимаю Bad с 3х на 2 перешел вообще не заметив разницы Sm
17.04.2012 03:45
Find all posts by this user Quote this message in a reply
Deo Offline

Posts: 494
Post: #188

Это "египетские скобки".
Image: h6IEf.jpg
По-моему такой код читать сложнее
Code:
try{
    //код
    if (условие) {
        //код
    }
    //код
    if (другоеусловие) {
        //немного кода
        if (еще одно условие){
            //код
        }
    }                
}
catch (Exception ex){
    //обработка исключения
}
чем такой:
Code:
try
{
    //код
    if (условие)
    {
        //код
    }
    //код
    if (другоеусловие)
    {
        //немного кода
        if (еще одно условие)
        {
            //код
        }
    }                
}
catch (Exception ex)
{
    //обработка исключения
}

В последнем варианте проще визуально сопоставить открывающиеся и закрывающиеся скобки.
17.04.2012 07:49
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #189

gamecreator Wrote:
googlecode Wrote:Spaces vs. Tabs
Use only spaces, and indent 2 spaces at a time.
FFFFUUUUUUUUUUUUUUUU!!!!!! ничего не разберешь же
А по-моему, 2 пробела - самое удобное. Просто нужно использовать моноширинный шрифт. 4 пробела долго писать и всё разъезжается, на мобильных устройствах становится абсолютно нечитаемым.
17.04.2012 09:35
Find all posts by this user Quote this message in a reply
NIKr0m@nceR Offline

Posts: 203
Post: #190

Deo, На самом деле, это вопрос привычки. я и в первом варианте неплохо это понимаю. С другой стороны, первый вариант намного компактнее что позволяет охватывать взглядом больший кусок кода. А вообще, на вкус и цветстиль товарищей нет.
17.04.2012 10:29
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #191

(17.04.2012 03:45)NIKr0m@nceR Wrote:  а при переносе скобки 1-я строка станет явно отделенной от второй.
так это же хорошо, улучшает читаемость
(17.04.2012 03:45)NIKr0m@nceR Wrote:  править удобно
ни разу не удобно. с табами - удобно править, да.
(17.04.2012 09:35)Sav Wrote:  Просто нужно использовать моноширинный шрифт.
а кто-то не использует?
(17.04.2012 09:35)Sav Wrote:  4 пробела долго писать
таб же


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
17.04.2012 10:58
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #192

Таб во всех, по крайней мере андроидских, виртуальных клавиатурах упрятан чёрти-где, если вообще есть.
17.04.2012 11:22
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #193

ну тогда это вынужденное ограничение, а не удобство


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
17.04.2012 12:04
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #194

Удобство в принципе создаётся из вынужденных ограничений.
17.04.2012 12:10
Find all posts by this user Quote this message in a reply
NIKr0m@nceR Offline

Posts: 203
Post: #195

gamecreator, я хз как табы могут быть удобнее пробелов. все равно в начало строки я перемещаюсь кнопкой хоум. ну не вижу я в чем их сила Bad К тому же если у функции параметры в несколько строк писать и отступ некратен величине таба то придется миксовать что не айс.
а насчет скобки - я написал, что итак достаточно отделены имхо
(This post was last modified: 17.04.2012 13:49 by NIKr0m@nceR.)
17.04.2012 13:43
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group