2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Правила программирования
Сообщение24.03.2010, 11:44 


31/08/09
183
Что-то не совсем разбираюсь как правильно называть функции, какие отступы делать, как переменные называть.
Венгерская нотация, это мне кажется ну не то, что то хочется типа того, как в Qt, где бы про это почитать?

 Профиль  
                  
 
 Re: Правила программирования
Сообщение24.03.2010, 11:51 
Заслуженный участник


09/08/09
3438
С.Петербург
Погуглите что-нибудь типа "coding standards".
Ну а еще вот такую книжку посмотрите: С.Макконнел. Совершенный код.

 Профиль  
                  
 
 Re: Правила программирования
Сообщение24.03.2010, 17:10 


02/07/08
322
Или по словам "style guide". Собственно, у гугла хороший стиль.
А Макконнел - это круто. Нет, там всё понятно, но очень обстоятельно и даже несколько занудно. Но чрезвычайно полезно.

 Профиль  
                  
 
 Re: Правила программирования
Сообщение28.03.2010, 15:15 


25/01/10
33
mycoding
Если используете ООП, то тогда CamelCase
Еще в Google можно поискать на эту тему. В Интернете полно информации по оформлению кода.

 Профиль  
                  
 
 Re: Правила программирования
Сообщение28.03.2010, 15:22 
Заслуженный участник


09/08/09
3438
С.Петербург
rederblack в сообщении #303588 писал(а):
Если используете ООП, то тогда CamelCase
От языка зависит:
Ява -- CamelCase,
C#, C++, Delphi -- Pascal
Ruby -- вообще все в нижнем регистре через '_'
и т.д.

Да к тому же, разные типы объектов по разным правилам именуются.

-- Вс мар 28, 2010 15:31:00 --

Не посмотрел сразу в статью.
Просто довольно часто под camel case понимается именование типа camelCase (у верблюда голова ниже горба:) ), а под pascal case -- именование типа PascalCase.
Вот как тут: http://cplus.about.com/od/learnc/ss/csharpclasses_5.htm

 Профиль  
                  
 
 Re: Правила программирования
Сообщение29.03.2010, 12:04 
Аватара пользователя


14/05/05
224
Баку
Короче тремя словами:

1) Стиль написания
myVariable
MyClass
myFunction()
tMyType

2) Знаки между операндами разделять пробелами, чтобы они лучше читались

3) Следовать структурированности и вложенности строк кода:
Используется синтаксис C
if (example)
{
     myVariable = myFunction(new myClass());
     if (!myVariable)
     {
           System.out('Соблюдать правильную "кавычечность"!');
     }
}
 


4) Кодить, кодить и еще раз кодить.

А в остальном все это фигня, пишите так, как Вам удобно :D

 Профиль  
                  
 
 Re: Правила программирования
Сообщение30.03.2010, 08:05 
Аватара пользователя


01/02/09
206
Цитата:
Что-то не совсем разбираюсь как правильно называть функции, какие отступы делать, как переменные называть.


В доках к языку есть описание coding style. Оттуда и плясать. Например, для Python'а есть PEP8.

 Профиль  
                  
 
 Re: Правила программирования
Сообщение30.03.2010, 18:05 
Заслуженный участник


26/07/09
1559
Алматы
Ринат в сообщении #303929 писал(а):
А в остальном все это фигня, пишите так, как Вам удобно

Точно. Главное, сохранять один и тот же стиль в пределах хотя-бы одного файла и обеспечивать возможность прочитать/понять написанное через пару недель отдыха. :)

 Профиль  
                  
 
 Re: Правила программирования
Сообщение31.03.2010, 19:43 


31/08/09
183
Просто очень нравится как сделано в Qt, всё настолько правильно и просто. Только невсегда получается найти нужное слово на английском чтобы передать смысл вот что иногда получается
Код:
checkNullFirstElementInNullColumn

Вот такие вот переменные, как то не очень.

Хотя вроде в WinAPI, тоже переменные бывают такие.

 Профиль  
                  
 
 Re: Правила программирования
Сообщение31.03.2010, 22:40 
Аватара пользователя


14/05/05
224
Баку
mycoding в сообщении #305049 писал(а):
checkNullFirstElementInNullColumn
Вот такие вот переменные, как то не очень.

А никто и не заставляет писать именно так названия выражений =) Есть такое замечательное свойство - сокращение. Вот как оно выглядит для данного выражения:
Было: checkNullFirstElementInNullColumn
Стало: chckNullFstElInNullCol

Почти двукратное сокращение, а семантика все равно ясна =)

 Профиль  
                  
 
 Re: Правила программирования
Сообщение31.03.2010, 23:34 
Заслуженный участник


09/08/09
3438
С.Петербург
Ринат в сообщении #305119 писал(а):
Было: checkNullFirstElementInNullColumn
Стало: chckNullFstElInNullCol
Почти двукратное сокращение, а семантика все равно ясна =)
Ну это на любителя. По мне, так "Было" лучше :)

 Профиль  
                  
 
 Re: Правила программирования
Сообщение01.04.2010, 00:37 
Аватара пользователя


14/05/05
224
Баку
Maslov в сообщении #305130 писал(а):
Ну это на любителя. По мне, так "Было" лучше :)

Пожалейте транслятор :D

 Профиль  
                  
 
 Re: Правила программирования
Сообщение01.04.2010, 00:51 
Заслуженный участник


09/08/09
3438
С.Петербург
Ринат в сообщении #305143 писал(а):
Пожалейте транслятор :D
Он меня не жалеет, и я его не пожалею.
Я лучше себя пожалею и тех, кто это потом сопровождать будет. И потом: эти же идентификаторы иногда вслух произносить приходится.
Кстати, check обычно до chk сокращают :-)

 Профиль  
                  
 
 Re: Правила программирования
Сообщение01.04.2010, 14:51 
Аватара пользователя


14/05/05
224
Баку
Maslov в сообщении #305145 писал(а):
Я лучше себя пожалею и тех, кто это потом сопровождать будет.

Ну так вот ради тех, кого потом жалеть придется иногда и следует сокращать, дабы в глаза по-большей степени врезалась структура, а не семантика. Семантика она так, когда уже уточнять приходится :)

Maslov в сообщении #305145 писал(а):
Кстати, check обычно до chk сокращают

Значит еще лучше! :D

 Профиль  
                  
 
 Re: Правила программирования
Сообщение02.04.2010, 01:26 


02/07/08
322
Ринат в сообщении #305119 писал(а):
Было: checkNullFirstElementInNullColumn
Стало: chckNullFstElInNullCol

Почти двукратное сокращение, а семантика все равно ясна =)


На мой вкус, это ужасное сокращение. Если в редакторе кода нет автозаполнения, то написать такое название переменной дважды уже является непростой задачей. И читается оно очень плохо. Правила позволяют делать код самодокументированным и легко читаемым, к чему и стоит стремиться. Именование переменных - искусство, но ему можно научиться.
В названии checkNullFirstElementInNullColumn абстрактно нет ничего плохо. Единственно - я не понимаю, что оно означает. Может быть, из контекста это было бы понятно. Не нужно бояться длинных имён, хотя если её можно сделать короче без потери читабельности, то это нужно сделать.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group