![]() |
|
Модераторы: THandle, bems |
![]()
|
|
| THandle |
|
||||||||||||||||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 7 Всего: 372 |
Всем привет.
Уж не знаю, так или нет это называется, но Delphi наш не регистрочувствителен, что меня в последнее время честно говоря стало огорчать. Причины моего огорчения в следующем, объясню все на сусликах. 1. Ключевые слова и оформление кода. Раньше я оформлял код жутким образом(отступы, несохранение регистра написания переменных в коде и тд.). Сейчас более менее начал соблюдать правила, в большинстве своем описанные в следующей статье: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=802 А теперь рассмотрим объявление примитивного класса:
Как вам такой код? Хорошо читается? Пусть даже отступы не будем брать в расчет:
Все равно код смотрится жутко, ИМХО. Возьмем класс на C#:
Тут никогда не получится написать что то типа:
Просто недопуститься компилятором. А что мы видим в Delphi? Новички(да и некоторые вполне опытные люди) приходят и начинают писать код вроде нашего суслика, и многие потом не могут отучиться от такой привычки. 2. Теперь немного об именовании переменных. Имеем переменные:
А теперь как же к ним обращаются люди? Да хоть как!!!
В case-sesitive языках переменные mYSUpERPUPeRSusleG и mysuperpupersusleg были бы уже совсем разными вещами. Единственное что мне нравится у нас в этом деле, это то что нельзя объявить несколько переменных с одним именем, но в разном регистре. То есть:
Все катит и работает отлично. Две разные переменные. А в Delphi так низя, будет ругаться:
Delphi уже матерится Лично мое мнение насчет всего этого безобразия: Было бы лучше, если бы Pascal, Object Pascal были бы регистрозависимыми языками, с вложенным в компилятор правильным оформлением ключевых слов, без возможности обращаться к переменной "как хочетсЯ", "Как напИсалось". Но в то же время хотелось бы чтобы нельзя было объявлять переменные с одинаковыми с точки зрения прочтения переменными. Вот. А теперь вопрос. Каково Ваше мнение по этому поводу? ЗЫ: сорри, написал как то не очень хорошо. Не в лучшем сейчас расположении духов |
||||||||||||||||
|
|||||||||||||||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: нет Всего: 54 |
Имхо согласен, регистрозависимость нужна. Самого часто бесит, что переменные и функции пишутся без какой-то определенной специфики.
|
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 1 Всего: 15 |
Я вот тож мучался и думал как правильно написать процедуру или функцию...
Потом узнал про Ctrl + Space... и щас всегда это нажимаю... даже если текст уже полностью мной набран... то есть я пишу ваще без больших букв... а в конце (или в середине ввода) жму эту комбинацию и все делаеься как надо... В связи с этим бесит одна штука... например тип Integer по умочанию так пишется, а string - так... почему все в дельфе с большой буквы, а стринг - с маленькой? Меня это немного выводит из равновесия... а переменные так называю: MainForm или Main_form... ну и отступы, конечно, делаю... но тут уж, как сам считаю правильным... вроде привык уже и сейчас меня не бесит внешний вид того, что я напечатал... |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 7 Всего: 372 |
Kbl4AH, ключевые слова в Delphi все идут с маленькой буквы, если не ошибаюсь
|
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 1 Всего: 15 |
||||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 7 Всего: 372 |
||||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 1 Всего: 15 |
заметно! но в сплывающей подсказке и у того и у того название - type... мне в принципе без разницы, но немного не нравится... ![]() Одинаково, так одинаково, а не то что с большой, с маленькой, всеми большими... А почему string единственный из типов является ключевым словом? Так исторически сложилось? Это сообщение отредактировал(а) Kbl4AH - 23.1.2009, 11:30 |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 1 Всего: 15 |
Еще пара вопросов по правилам хорошего стиля оформления...
1) В редакторе кода в правой части экрана проходит вертикальная линия... Можно ли чтобы код выходил за нее или это считается не приемлемым? 2) Как правильно написать такой код?
|
|||
|
||||
| Rrader |
|
|||
|
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: нет Всего: 191 |
Не рекомендуется. При печати потеряется.
|
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 1 Всего: 15 |
Спасибо, буду теперь так делать... а то раньше делал так:
|
|||
|
||||
| Qu1nt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 13.1.2007 Репутация: нет Всего: 50 |
Нет такого понятия "правильно". У каждой уважающей себя фирмы есть некие стандарты оформления кода. Кушать захочешь - к ним приспособишься.
Регистронезавиcимость Delphi делает его еще более понятным для новичков. Если сейчас что-то изменить, то огромное количество компонентов, исходных кодов станут неработоспособными. А проводить аналогии с другими языками - неуместно. |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 3 Всего: 160 |
Эх THandle, слышишь ты звон...
Начинаю с Modula языки Вирта стали регистрозависимыми, а ключевые слова пишутся CAPS'ом. Потом ещё были и Modula-2, и Oberon, и Oberon-2... При этом каждый раз язык всё худел и худел. А Borland, наоборот всё раздувает и раздувает. Очень простая реализация модульности и межмудольного импорта/экспорта. И исчо много чего. Вообщем попробуй Component Pascal. Мне понравилось...
-------------------- |
|||
|
||||
| Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
наоборот Добавлено через 1 минуту и 38 секунд так же красивее
|
||||
|
|||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 1 Всего: 15 |
||||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
ну и ладно
|
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Добро пожаловать в форум группы "Delphi". В разделе разрешается:
Строго запрещено:
Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Форум группы: delphi | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |