Стиль написания и форматирования исходного текста
К пимеру стиль написания и форматирования исходного текста Microsoft или Borland
У кого есть инфа по стилям написания исходного текста на С++, Pascal помогите!
К пимеру стиль написания и форматирования исходного текста Microsoft
А что конкретно тебя интересует? А что у Microsoft какой-то особый стиль написания?
Если тебя интересует хороший стиль программирования, то такую инфу найти очень трудно. Могу лишь дать некоторые выдержки
1. Объявляйте переменную и задавайте ей начальное значение (инициализациируйте).
2. Сопровождайте каждый блок комментариями.
.
.
хх. default в операторе switch.
ну и так далее.
А если тебе нужно знать как оформлять, то тут каждый выбирает сам как ему нравится. Самое главное, чтобы и через 2 месяца программа была понятна.
Интересует как раз хороший стиль написания программы.
Объявление переменных перед их использованием, венгерская нотация, коментарии, а что еще?
Еще функции и общие переменные коментиш, а остальное... А через месяц после написания проги бывает тяжело разобраться, как конкретно эта ф-я работает. Ну так это твоя ф-я, а если с ней должен работать кто-то другой.
Смотришь в MSDN примеры с английскими коментариями, а понимаешь их гораздо лучше написанных твоими сокурсниками с русскими коментариями. А вроде бы стараешься писать также. Только, пожалуйста, не надо таких ответов, что это прийдет с опытом - это и так понятно. Надеюсь с опытом таких вопросов задавать и не буду.
Вопрос не мой, но хотелось бы его потдержать.
Интересует как раз хороший стиль написания программы.
Объявление переменных перед их использованием, венгерская нотация, коментарии, а что еще?
Еще функции и общие переменные коментиш, а остальное... А через месяц после написания проги бывает тяжело разобраться, как конкретно эта ф-я работает. Ну так это твоя ф-я, а если с ней должен работать кто-то другой.
Смотришь в MSDN примеры с английскими коментариями, а понимаешь их гораздо лучше написанных твоими сокурсниками с русскими коментариями. А вроде бы стараешься писать также. Только, пожалуйста, не надо таких ответов, что это прийдет с опытом - это и так понятно. Надеюсь с опытом таких вопросов задавать и не буду.
А не пробовали воспользоваться поисковиками, например Google?
http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-8&q=code+style+c%2B%2B
http://www.google.com/search?q=code+styles+c%2B%2B&hl=en&lr=&ie=UTF-8&oe=UTF-8
http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-8&q=code+styles
http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-8&q=code+style
или "лично я придерживаюсь правил венгерской нотации, только когда даю названия долгоживущим переменным, а переменным с малым сроком жизни даю простые имена, что-бы их легко было отличить друг от друга
пример:
size = m_size; // для меня это значит, что какому то размеру внутри метода присвоен размер свойства класса m_size".
А то получается, что на форум заходят в основном для того, чтобы задать вопрос, или попросить ссылку на какую-то инфу, и только иногда эти вопросы переходят в обсуждения. Надеюсь, кому-то эта тема будет интересна, для того и пишу.
Дело не в том, что я хотел получить какую-то инфу по этому вопросу, книги найти в принципе не тяжело, и на этом сайте и на самом форуме ссылок много. С одной из этих ссылок я книгу и читаю (спасибо _Аnton-у). Я скорее расчитывал на дискуссию, типа того, что, ну, например "Читал где-то, что рекомендуют перед тем как писать функцию, сначала расписать ее коментариями, а потом уже вставлять код, но, во первых, часто это не удобно, а во вторых иногда реализация и так достаточно ясна без коментариев, и такой способ - напрасная трата времени",
или "лично я придерживаюсь правил венгерской нотации, только когда даю названия долгоживущим переменным, а переменным с малым сроком жизни даю простые имена, что-бы их легко было отличить друг от друга
пример:
size = m_size; // для меня это значит, что какому то размеру внутри метода присвоен размер свойства класса m_size".
А то получается, что на форум заходят в основном для того, чтобы задать вопрос, или попросить ссылку на какую-то инфу, и только иногда эти вопросы переходят в обсуждения. Надеюсь, кому-то эта тема будет интересна, для того и пишу.
Уважаемый, вы просили именно информацию, а не пытались развить тему для обсуждения.
Для обсуждения эта тема слишком большая и расплывчатая, надо как-то конкретизировать и внести немного интриги...
К примеру, я требую от программистов, чтобы в условиях сначала значились константы, а потом уже переменные, т.е.
if(0==dwPos)
а не
if(dwPos==0)
Уважаемый, вы просили именно информацию, а не пытались развить тему для обсуждения.
Для обсуждения эта тема слишком большая и расплывчатая, надо как-то конкретизировать и внести немного интриги...
т.к. последние два сообщения пришли от Green, отвечу именно ему.
Сначала я бы попросил ко мне обращаться на ты, я довольно таки молод. Надеюсь обращение на вы не было попыткой интонацией подчеркнуть суть.
Инфу просил не я а пользователь с ником Lunx. Я просто перехватил его тему, которая и меня волновала. (надеюсь Lunx на меня за это не обидется).
Не буду спорить, тема действительно обширна, ну а интрига никогда не лишняя, но к сожалению я не писатель, а построить вопрос так, чтобы он заинтересовал многих - это на, мой взгляд, талант.
Все же просил бы всех, открывших данный вопрос, высказываться на данную тему, меня интересует все с ней связанное. Я по сути еще новичок. Писать програмки типа косынки и сапера уже скушно, а вот взялся за графический просмотровщик (типа ACDSee) и столкнулся с тем, что наибольшей проблемой стало построение проекта и навигация уже в написанном коде. Отсюда и интерес к теме, уже начинает казаться, что это одна из наибольших проблем.
Книги не всегда дают ту инфу, которая нужна именно сейчас. Некоторые вещи начинаешь понимать, только 20 раз споткнувшись (правда говорят, что умный учится на чужих ошибках...), и готовый опыт тут не всегда годится. А при обсуждении...
А на счет
if(0==dwPos)
а не
if(dwPos==0)
я не совсем понял зачем, ведь при просмотре кода все же читаешь слева направо и нужный if легче найти... а вообще да, понял, нужный иф так действительно проще найти. Учту.
А на счет
if(0==dwPos)
а не
if(dwPos==0)
я не совсем понял зачем, ведь при просмотре кода все же читаешь слева направо и нужный if легче найти... а вообще да, понял, нужный иф так действительно проще найти. Учту.
:)
Дело не в удобстве поиска, а в "человеческом факторе". Человек имеет свойство ошибаться. В данном случае вместо
if(dwPos==0)
можно случайно написать
if(dwPos=0)
Компилятор, конечно, выдаст предупреждение, но кто их читает, эти предупреждения... :D :D
Может уйти уйма времени на поиск такой ошибки в большом проекте.
А если писать константу вначале, то тут уж компилятор будет ругаться громко.
Еще несколько замечаний:
Не надо лениться выносить строковые литералы в таблицу строк ресурсов.
Лучше сразу использовать TCHAR везде, кроме тех мест, где конкретно необходимо использование char или wchar.
Не стоит забывать об CodeGuard-ах в заголовочных файлах, т.е. использовать
#pragme once
или (что я считаю предпочтительнее)
#ifndef _FILENAME_H_
#define _FILENAME_H_
....................
#endif//_FILENAME_H_
Не стоит забывать об CodeGuard-ах в заголовочных файлах, т.е. использовать
#pragme once
или (что я считаю предпочтительнее)
#ifndef _FILENAME_H_
#define _FILENAME_H_
....................
#endif//_FILENAME_H_
Ребята посмотрите этот файлик
URL http://webcenter.ru/~zwb/download/cpprules.zip
Наверное это то что вы ищете!! (или только обсуждаете :-))
Ребята посмотрите этот файлик
URL http://webcenter.ru/~zwb/download/cpprules.zip
Наверное это то что вы ищете!! (или только обсуждаете :-))
Спасибо за ссылку, эту книгу уже скачал ранее и читаю.
К сожалению не понял о:
#pragme once
или (что я считаю предпочтительнее)
#ifndef _FILENAME_H_
#define _FILENAME_H_
....................
#endif//_FILENAME_H_
для чего нужен код? Но найду, почитаю. Наверно я поспешил лезть в эту тему, первоначально нужно было все ж таки почитать об этом, а уж потом обсудить это в форуме. Что и сделаю. Но если кто еще что посоветует из своего опыта, буду признателен. Спасибо.