powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Стиль программирования.
25 сообщений из 80, страница 3 из 4
Стиль программирования.
    #33775768
road_run
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ErVИмеешь в виду - Init() надо было в конструктор запихнуть? Или что?
Ну да аффтар никак не смог обосновать лишний метод....
...
Рейтинг: 0 / 0
Стиль программирования.
    #33775804
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
road_run ErVИмеешь в виду - Init() надо было в конструктор запихнуть? Или что?
Ну да аффтар никак не смог обосновать лишний метод....
Ну, если метод не виртуальный (т.е. будет перегружаться), т.е. - действительно, нафига?
...
Рейтинг: 0 / 0
Стиль программирования.
    #33776811
Homosum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV
вообще, ИМХО, вопрос о стиле возник из-за большой гибкости C++ - из (конкретно этого) языка можно ведь что угодно сделать.

Здесь я полностью не согласен. У меня есть опыт разработки на других языках, и даже если взять такой "примитивный" язык, как внутренний язык среды "1С:Предприятие", то и там очень важно понятие стиля и все, что было здесь сказано.
...
Рейтинг: 0 / 0
Стиль программирования.
    #33786264
armas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Стив Макконнелл Совершенный код
http://]http://www.natahaus.ru/2005/09/07/sovershennyy_kod__master_klass.html
Второе издание. Твердый переплет
896 стр., 2005 г.
Издательство: Питер
Русская редакция .
Серия: Мастер-класс.
ISBN 5-7502-0064-7

От издательства:
Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО ≈ с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство. Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код. Книга состоит из 35 глав, предметного указателя и библиографии.

Отзывы о книге:
"Это просто самая лучшая книга по конструированию ПО из всех, что когда-либо попадались мне в руки. Каждый разработчик должен иметь ее и перечитывать от корки до корки каждый год. Я ежегодно перечитываю ее на протяжении вот уже девяти лет, и все еще узнаю много нового!"
Джон Роббинс, автор книги "Debugging Applications for Microsoft .NET and Microsoft Windows"

"Современное ПО должно быть надежным и гибким, а создание защищенного кода начинается с дисциплинированного конструирования программы. За десять лет так и не появилось лучшего руководства по этой теме, чем эта книга."
Майкл Ховард, специалист по защите ПО, корпорация Microsoft; один из авторов книги "Writing Secure Code"

"Это исчерпывающее исследование тактических аспектов создания хорошо спроектированных программ. Книга Макконнелла охватывает такие разные темы, как архитектура, стандарты кодирования, тестирование, интеграция и суть разработки ПО."
Гради Буч, автор книги "Object Solutions".
...
Рейтинг: 0 / 0
Стиль программирования.
    #33787214
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
armasСтив Макконнелл Совершенный код
http://]http://www.natahaus.ru/2005/09/07/sovershennyy_kod__master_klass.html
Второе издание. Твердый переплет
896 стр., 2005 г.
Издательство: Питер
Русская редакция .
Серия: Мастер-класс.
ISBN 5-7502-0064-7

От издательства:
Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО ≈ с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство. Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код. Книга состоит из 35 глав, предметного указателя и библиографии.

Отзывы о книге:
"Это просто самая лучшая книга по конструированию ПО из всех, что когда-либо попадались мне в руки. Каждый разработчик должен иметь ее и перечитывать от корки до корки каждый год. Я ежегодно перечитываю ее на протяжении вот уже девяти лет, и все еще узнаю много нового!"
Джон Роббинс, автор книги "Debugging Applications for Microsoft .NET and Microsoft Windows"

"Современное ПО должно быть надежным и гибким, а создание защищенного кода начинается с дисциплинированного конструирования программы. За десять лет так и не появилось лучшего руководства по этой теме, чем эта книга."
Майкл Ховард, специалист по защите ПО, корпорация Microsoft; один из авторов книги "Writing Secure Code"

"Это исчерпывающее исследование тактических аспектов создания хорошо спроектированных программ. Книга Макконнелла охватывает такие разные темы, как архитектура, стандарты кодирования, тестирование, интеграция и суть разработки ПО."
Гради Буч, автор книги "Object Solutions".

Если честно (не обижайся) на банальную рекламу похоже.

2 road_run.
Ты говорил насчет ссылок по рефакторингу - не поделишся? :)
...
Рейтинг: 0 / 0
Стиль программирования.
    #33787501
armas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ErV
ну,блин, вы даете!
эта ссылка на целую книгу в эл.виде, к-рая... must have ;-)
Удачи!
...
Рейтинг: 0 / 0
Стиль программирования.
    #33788685
road_run
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ErV
2 road_run.
Ты говорил насчет ссылок по рефакторингу - не поделишся? :)
Гмм что то не помню про то что говорил но вот на очень хорошую тулзовину для рефакторинга всегда пжалуйста .... эх если бы еще кряк можно было бы для нее найти...
...
Рейтинг: 0 / 0
Стиль программирования.
    #33788687
road_run
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
road_run ErV
2 road_run.
Ты говорил насчет ссылок по рефакторингу - не поделишся? :)
Гмм что то не помню про то что говорил но вот на очень хорошую тулзовину для рефакторинга всегда пжалуйста http://www.refpp.com/.... эх если бы еще кряк можно было бы для нее найти...
...
Рейтинг: 0 / 0
Стиль программирования.
    #33796471
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
armas2 ErV
ну,блин, вы даете!
эта ссылка на целую книгу в эл.виде, к-рая... must have ;-)
Удачи!
:lol: пардон, обознался. (Люди, никогда не пишите за ночь курсовую... :))
...
Рейтинг: 0 / 0
Стиль программирования.
    #33797119
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Уважаемые Знатоки! Разрешите вам задать ламерский вопрос и может быть не совсем в тему.
Кто-нибудь знаком с книгой В.Штерна "Основы С++. Методы программной инженерии"? Если да, то какое у вас к ней отношение?
Лично я ее читал, ну прям - как детектив какой, интересно - ужас. Может это от того, что нахожусь на начальном уровне в С++.
...
Рейтинг: 0 / 0
Стиль программирования.
    #33797815
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть ещё такой каталожек хороших книжек
...
Рейтинг: 0 / 0
Стиль программирования.
    #33797897
5758903
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заходите на страницу самие http://]http://220.ws.co.ua/135.htm прикольные исходники!!!!
...
Рейтинг: 0 / 0
Стиль программирования.
    #33797899
5758903
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
220.ws.co.ua
...
Рейтинг: 0 / 0
Стиль программирования.
    #33799454
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?Уважаемые Знатоки! Разрешите вам задать ламерский вопрос и может быть не совсем в тему.
Кто-нибудь знаком с книгой В.Штерна "Основы С++. Методы программной инженерии"? Если да, то какое у вас к ней отношение?
Лично я ее читал, ну прям - как детектив какой, интересно - ужас. Может это от того, что нахожусь на начальном уровне в С++.
Начальный - это какой? :)
что знакомо (какие термины/понятия/функции) из списка:
перегрузка операторов,
шаблоны (template'ы), std::vector, std::bitset,
пространства имен, укзатели, наследование,
классы, полиморфизм, перегрзка операторов,
абстрактный метод, константный метод, ссылка,
абстрактный класс, "умный" указатель, typedef,
макрос, COM, WinAPI, HANDLE, std::cout, _tcsprintf.

:)
...
Рейтинг: 0 / 0
Стиль программирования.
    #33799792
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Из всего перечисленного еще не освоил - шаблоны, макросы и COM.
...
Рейтинг: 0 / 0
Стиль программирования.
    #33799874
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErVstd::vector, std::bitset, пространства именмда... во времена бц3.1 такого не было.
...
Рейтинг: 0 / 0
Стиль программирования.
    #33799916
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Ну и самое главное - я еще на С++ не выполнял никакой серьезный проект, кроме учебных примеров.
...
Рейтинг: 0 / 0
Стиль программирования.
    #33801989
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?Ну и самое главное - я еще на С++ не выполнял никакой серьезный проект, кроме учебных примеров.
С серъезным проектом - почитай книги по экстремальному програмированию. Серъезно - я когда писал прогу на заказ, и пытался пользоваться традиционныи средствами проектирования получил ряд проблем, которые решаются в этих книгах...

и ещё :) что делают следующие строки (имена изначально были понятные :)):

int func(const char* p){
int i = 0;
if (p)
while(*(ptr++))
i++;
return i;
}

???
Просто многие парятся с указателями...
...
Рейтинг: 0 / 0
Стиль программирования.
    #33802180
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV ?Ну и самое главное - я еще на С++ не выполнял никакой серьезный проект, кроме учебных примеров.
С серъезным проектом - почитай книги по экстремальному програмированию. Серъезно - я когда писал прогу на заказ, и пытался пользоваться традиционныи средствами проектирования получил ряд проблем, которые решаются в этих книгах...

и ещё :) что делают следующие строки (имена изначально были понятные :)):

int func(const char* p){
int i = 0;
if (p)
while(*(ptr++))
i++;
return i;
}

???
Просто многие парятся с указателями...
ptr надо бы как-то это...
А если это опечатка и вместо ptr должно быть p то это просто strlen.
...
Рейтинг: 0 / 0
Стиль программирования.
    #33802607
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ErVи ещё :) что делают следующие строки (имена изначально были понятные :)):

int func(const char* p){
int i = 0;
if (p)
while(*(ptr++))
i++;
return i;
}

???
Просто многие парятся с указателями...
Простые вещи нужно делать низкоуровнеми средствами. Это и быстрее и "стильнее".
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
int func(const char* p) {
	_asm {
		xor		eax, eax
		mov		edi, p
		test	        edi, edi
		jz		l01
		mov		ecx, 0xffffffff
		repnz	        scasb
		mov		eax, ecx
		not		eax
		dec		eax 
l01:
	}               
}
...
Рейтинг: 0 / 0
Стиль программирования.
    #33802812
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Балтика ErVи ещё :) что делают следующие строки (имена изначально были понятные :)):

int func(const char* p){
int i = 0;
if (p)
while(*(ptr++))
i++;
return i;
}

???
Просто многие парятся с указателями...
Простые вещи нужно делать низкоуровнеми средствами. Это и быстрее и "стильнее".
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
int func(const char* p) {
	_asm {
		xor		eax, eax
		mov		edi, p
		test	        edi, edi
		jz		l01
		mov		ecx, 0xffffffff
		repnz	        scasb
		mov		eax, ecx
		not		eax
		dec		eax 
l01:
	}               
}

Вообще каждый пишет по своему. для меня C++ код удобнее читать.
Кроме того, он будет работать (теоретически) на любой машине - т.е. не 8086-based, хотя мне эо как то и все равно.

Кроме того - здесь мне просто интересно было посмотреть, знает ли человек указательную механику и т.д..
...
Рейтинг: 0 / 0
Стиль программирования.
    #33803888
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
ErV ?Ну и самое главное - я еще на С++ не выполнял никакой серьезный проект, кроме учебных примеров.
С серъезным проектом - почитай книги по экстремальному програмированию. Серъезно - я когда писал прогу на заказ, и пытался пользоваться традиционныи средствами проектирования получил ряд проблем, которые решаются в этих книгах...

и ещё :) что делают следующие строки (имена изначально были понятные :)):

int func(const char* p){
int i = 0;
if (p)
while(*(ptr++))
i++;
return i;
}

???
Просто многие парятся с указателями...

В данном примере, функция func принимает указатель со спецификатором const (это означает, что в данной функции, сами данные на которые указывает *p – изменить нельзя).
Так как указатель имеет тип char – это означает, что в функцию передается указатель на начало символьного массива.
В функции объявляется переменная i типа int которая инициализируется 0 и именно ее значение будет возвращено из данной функции.
Далее в конструкции - if (p) проверяется не содержит ли указатель значение 0. И если
не содержит, то в цикле while увеличиваем значение адреса, которое расположено в указателе, на величину которое занимает тип char и соответственно, увеличиваем счетчик i. По количеству таких итераций, получаем число - сколько раз менялся адрес в указателе p. Ну и соответственно, данное число - будет показывать количество символов в строке, на начало которой указывал *p как параметр функции при ее вызове.

Ptr – это опечятка.

Если я не прав, то пусть меня поправят. Буду – признателен за указание на ошибки моего рассуждения.
...
Рейтинг: 0 / 0
Стиль программирования.
    #33803918
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Конечно, что в предложении: “Так как указатель имеет тип char – это означает, что в функцию передается указатель на начало символьного массива”,
будет правильнее написать: “Так как указатель имеет тип char – это означает, что в функцию передается адрес первого символа символьного массива.”
...
Рейтинг: 0 / 0
Стиль программирования.
    #33804514
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Балтика ErVи ещё :) что делают следующие строки (имена изначально были понятные :)):

int func(const char* p){
int i = 0;
if (p)
while(*(ptr++))
i++;
return i;
}

???
Просто многие парятся с указателями...
Простые вещи нужно делать низкоуровнеми средствами. Это и быстрее и "стильнее".
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
int func(const char* p) {
	_asm {
		xor		eax, eax
		mov		edi, p
		test	        edi, edi
		jz		l01
		mov		ecx, 0xffffffff
		repnz	        scasb
		mov		eax, ecx
		not		eax
		dec		eax 
l01:
	}               
}

Не скрою, мне интересны фичи по ускорению программ.
На BCB5 сравнил скорость выполнения этой функции и штатной strlen, выяснилось что штатная работает примерно в 5-6 раз быстрее. В ассемблерном промежуточном файле видно, что strlen была вставлена не как intrinsic, а как обычный вызов функции. Но надежда, что можно заменить на что-то более быстрое, все равно жива
...
Рейтинг: 0 / 0
Стиль программирования.
    #33811104
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?Конечно, что в предложении: “Так как указатель имеет тип char – это означает, что в функцию передается указатель на начало символьного массива”,
будет правильнее написать: “Так как указатель имеет тип char – это означает, что в функцию передается адрес первого символа символьного массива.”
указатель и адрес (ИМХО) - синонимы.
...
Рейтинг: 0 / 0
25 сообщений из 80, страница 3 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / Стиль программирования.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]