2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 Правила программирования
Сообщение24.03.2010, 11:44 
Что-то не совсем разбираюсь как правильно называть функции, какие отступы делать, как переменные называть.
Венгерская нотация, это мне кажется ну не то, что то хочется типа того, как в Qt, где бы про это почитать?

 
 
 
 Re: Правила программирования
Сообщение24.03.2010, 11:51 
Погуглите что-нибудь типа "coding standards".
Ну а еще вот такую книжку посмотрите: С.Макконнел. Совершенный код.

 
 
 
 Re: Правила программирования
Сообщение24.03.2010, 17:10 
Или по словам "style guide". Собственно, у гугла хороший стиль.
А Макконнел - это круто. Нет, там всё понятно, но очень обстоятельно и даже несколько занудно. Но чрезвычайно полезно.

 
 
 
 Re: Правила программирования
Сообщение28.03.2010, 15:15 
mycoding
Если используете ООП, то тогда CamelCase
Еще в Google можно поискать на эту тему. В Интернете полно информации по оформлению кода.

 
 
 
 Re: Правила программирования
Сообщение28.03.2010, 15:22 
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 
Аватара пользователя
Короче тремя словами:

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 
Аватара пользователя
Цитата:
Что-то не совсем разбираюсь как правильно называть функции, какие отступы делать, как переменные называть.


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

 
 
 
 Re: Правила программирования
Сообщение30.03.2010, 18:05 
Ринат в сообщении #303929 писал(а):
А в остальном все это фигня, пишите так, как Вам удобно

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

 
 
 
 Re: Правила программирования
Сообщение31.03.2010, 19:43 
Просто очень нравится как сделано в Qt, всё настолько правильно и просто. Только невсегда получается найти нужное слово на английском чтобы передать смысл вот что иногда получается
Код:
checkNullFirstElementInNullColumn

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

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

 
 
 
 Re: Правила программирования
Сообщение31.03.2010, 22:40 
Аватара пользователя
mycoding в сообщении #305049 писал(а):
checkNullFirstElementInNullColumn
Вот такие вот переменные, как то не очень.

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

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

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

 
 
 
 Re: Правила программирования
Сообщение01.04.2010, 00:37 
Аватара пользователя
Maslov в сообщении #305130 писал(а):
Ну это на любителя. По мне, так "Было" лучше :)

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

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

 
 
 
 Re: Правила программирования
Сообщение01.04.2010, 14:51 
Аватара пользователя
Maslov в сообщении #305145 писал(а):
Я лучше себя пожалею и тех, кто это потом сопровождать будет.

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

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

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

 
 
 
 Re: Правила программирования
Сообщение02.04.2010, 01:26 
Ринат в сообщении #305119 писал(а):
Было: checkNullFirstElementInNullColumn
Стало: chckNullFstElInNullCol

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


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

 
 
 [ Сообщений: 16 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group