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

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

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

vital
новенький
Сообщения: 86
Зарегистрирован: 17.10.2007 14:52:59

Сообщение vital »

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


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

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

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


Дык, стандарт он потому и стандарт, что не свой у каждого:) ИМХО, форматирование и регистр - это просто неотъемлимая часть процесса кодирования, т.е. такие вещи должны выполняться на автомате. Я себя приучил и при наборе текста это само собой разумеется(самому же проще по своим же исходникам лазить:)). По-моему, если имеет место кодирование как попало и последующее интенсивное использование форматтеров, значит "в консерватории что-то поправить нужно"(с)
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

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

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

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

Сообщение Deepthroat »

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

Насчет select count не согласен. Его так и надо использовать:

Код: Выделить всё

SELECT COUNT(*)
FROM table_name
WHERE <predicate>;

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

Сообщение Padre_Mortius »

А зачем тратить время на перебор всех полей если достаточно посчитать количество всех записей по одному полю????
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Padre_Mortius
COUNT(*) будет разбираться быстрее, чем COUNT(имя_поля).
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

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


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

тогду уж лучше попробуй COUNT(1)
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

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

Сообщение Padre_Mortius »

Сорри. был не прав :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
Аватара пользователя
Deepthroat
постоялец
Сообщения: 144
Зарегистрирован: 06.09.2007 00:21:34
Откуда: Outer Heaven
Контактная информация:

Сообщение Deepthroat »

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

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

А если в count впихнуть все поля таблицы, то он будет действовать аналогично count(*) (надо проверить), но последнее быстрее, так как экономится операция проекции.
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

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

монописуально как и COUNT(1)
Аватара пользователя
kik13
незнакомец
Сообщения: 6
Зарегистрирован: 30.10.2007 19:12:24
Откуда: г.Полярный
Контактная информация:

Сообщение kik13 »

Sergei I. Gorelkin

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

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

[url]http://ru.wikipedia.org/wiki/Венгерская_нотация[/url]
[url]http://local.joelonsoftware.com/mediawiki/index.php/Как_заставить_неправильный_код_выглядеть_неправильно[/url]
Ответить