Правила разработки

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Сообщение vital » 29.01.2008 14:40:33

Attid писал(а):
P.S. И велосипед изобретать не нужно Laughing


как отвечал ev в соседней ветки велосипед велосипеду рознь.

есть свои тонкости как и в среде так и в компании, за ссылки спасибо.

от туда стиль коментирования распешу, а форматирование надо будет все равно утилитой, а регстр можно в словарь запихнуть и его в свн запихнуть.


Дык, стандарт он потому и стандарт, что не свой у каждого:) ИМХО, форматирование и регистр - это просто неотъемлимая часть процесса кодирования, т.е. такие вещи должны выполняться на автомате. Я себя приучил и при наборе текста это само собой разумеется(самому же проще по своим же исходникам лазить:)). По-моему, если имеет место кодирование как попало и последующее интенсивное использование форматтеров, значит "в консерватории что-то поправить нужно"(с)
vital
новенький
 
Сообщения: 86
Зарегистрирован: 17.10.2007 14:52:59

Сообщение Attid » 29.01.2008 15:12:47

Дык, стандарт он потому и стандарт, что не свой у каждого

это я про велосипед отвечал, когда еще не прочитал что там за ссылки. тема же про правила програмирования а не форматированию кодеа, которое занимает одну строчку из правил .

так что на консерваторию попрошу не покушаться.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение Deepthroat » 31.01.2008 01:25:11

10. не использовать * в запросах (select * from .. и даже select count(*))

Насчет select count не согласен. Его так и надо использовать:
Код: Выделить всё
SELECT COUNT(*)
FROM table_name
WHERE <predicate>;

Зачем тратить драгоценное время на проекцию? Это уже квадратное колесо выходит.
Аватара пользователя
Deepthroat
постоялец
 
Сообщения: 144
Зарегистрирован: 06.09.2007 00:21:34
Откуда: Outer Heaven

Сообщение Padre_Mortius » 31.01.2008 10:21:14

А зачем тратить время на перебор всех полей если достаточно посчитать количество всех записей по одному полю????
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Vadim » 31.01.2008 12:06:27

Padre_Mortius
COUNT(*) будет разбираться быстрее, чем COUNT(имя_поля).
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Attid » 31.01.2008 12:34:20

Vadim писал(а):COUNT(*) будет разбираться быстрее, чем COUNT(имя_поля).


а ты знаешь что это разные вещи и вернет разные результаты ?

тогду уж лучше попробуй COUNT(1)
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение alexs » 31.01.2008 12:48:07

Насколько я помню теорию - COUNT(*) вобще не использует значения полей, т.е. не происходит обращение к данным, содержащим значение полей.
Выборка идёт только на уровне записей.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Padre_Mortius » 31.01.2008 14:37:00

Сорри. был не прав :oops:

COUNT(*) returns the number of items in a group, including NULL values and duplicates.

COUNT(ALL expression) evaluates expression for each row in a group and returns the number of nonnull values.

COUNT(DISTINCT expression) evaluates expression for each row in a group and returns the number of unique, nonnull values.

Взято из описания TransactSQL
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Deepthroat » 02.02.2008 21:17:00

COUNT(*) будет разбираться быстрее, чем COUNT(имя_поля)

Первое вернет количество строк в таблице - то, что обычно и требуется получить. Второе, насколько я понимаю, вернет количество строк с не NULL в поле имя_поля? Ну так это разные вещи.

А если в count впихнуть все поля таблицы, то он будет действовать аналогично count(*) (надо проверить), но последнее быстрее, так как экономится операция проекции.
Аватара пользователя
Deepthroat
постоялец
 
Сообщения: 144
Зарегистрирован: 06.09.2007 00:21:34
Откуда: Outer Heaven

Сообщение Attid » 03.02.2008 11:27:11

А если в count впихнуть все поля таблицы, то он будет действовать аналогично count(*) (надо проверить), но последнее быстрее, так как экономится операция проекции.

монописуально как и COUNT(1)
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение kik13 » 02.03.2008 06:03:05

Sergei I. Gorelkin

>>Венгерскую нотацию (префиксы с типами) некоторые считают злом

Я бы сказал что ее сделали злом ;) Изначально она была придумана для того чтобы отличать правильный код от неправильного.

[url]http://ru.wikipedia.org/wiki/Венгерская_нотация[/url]
[url]http://local.joelonsoftware.com/mediawiki/index.php/Как_заставить_неправильный_код_выглядеть_неправильно[/url]
Аватара пользователя
kik13
незнакомец
 
Сообщения: 6
Зарегистрирован: 30.10.2007 20:12:24
Откуда: г.Полярный

Пред.

Вернуться в Обучение Free Pascal

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

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

Рейтинг@Mail.ru