Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  04:47[Войти] | [Зарегистрироваться]
Обсуждение темы:
Оберон-технология: особенности и перспективы


Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение. 

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 6256 сообщений

Добавить свое сообщение

Отслеживать это обсуждение

Обсуждение из раздела
Школа ОБЕРОНА

<<<... | 3836—3827 | 3826—3817 | 3816—3807 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 244


№ 3826   12-04-2007 13:48 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3823« (Jack Of Shadows)
___________________________

А он мне нравится и даже очень. Мне не нравится приставка обязательный :))

А Вы слова "обязательный", "принудительный" и не используйте. Их в статьях и не найдете, просто я ими хотел почеркнуть "устрашающий" характер импорта, чтобы обсуждение пошло в более продуктивном ключе. Просто квалифицирующий импорт. Просто и элегантно. :)

Людям же не выдают обязательную визу. Просто виза. Просто в паспорте. Просто для поездки за рубеж.



№ 3825   12-04-2007 13:45 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3821« (Jack Of Shadows)
___________________________

В хаскеле наименования типов должны начинаться с большой буквы, наименования функций и переменных - с маленькой.
Мне очень нравится. Это полезная при разборе кода информация.


Как я понял из описания The Haskell 98 Report (Revised), это всего лишь рекомендации. Если перед Вами отчужденный модуль человека, работавшего вне Вашей группы (где могут быть свои соглашения об именовании), то нет никаких гарантий в том, что рекомендации отчета по Хаскелю соблюдены. Разве нет?

Смотрим текст:

1.4 Namespaces
There are six kinds of names in Haskell: those for variables and constructors denote values; those for type variables, type constructors, and type classes refer to entities related to the type system; and module names refer to modules. There are two constraints on naming:
1. Names for variables and type variables are identifiers beginning with lowercase letters or underscore; the other four kinds of names are identifiers beginning with uppercase letters.
2. An identifier must not be used as the name of a type constructor and a class in the same scope.

These are the only constraints; for example, Int may simultaneously be the name of a module, class, and constructor within a single scope.


Честно говоря, принцип именования переменных с маленькой, а типов с большой -- давно уже используется в Модуле-2 и Обероне. Хотя бы и потому, что язык чувствителен к регистру и удобно писать, например

VAR color: Color



Но он нигде не фиксировался. Пожелание-рекомендация.

Приведу один из возможных примеров именования для Оберонов (я его со своими коллегами использовал при работе на Модуле-2 и Обероне). Для составных имен (более одного слова) используется принцип смены регистра (новое слово начинается с большой). Кроме того, желательно (для тех, кто знает английский и использует это знание для смыслового выделения имен) использовать такую схему (для русского или иного национального языка, если это поддерживает компилятор и использует данная группа разработки, ситуация схожа):

0. Имена модулей, типов, процедур, констант всегда начинаются с большой буквы, переменных -- с маленькой (исключения -- поля классов, а также процедурные переменные; они подчиняются правилам именованиям процедур и функций).
1. Переменные и типы -- имена существительные (первые начинаются с маленькой, вторые с большой), если есть один представитель типа -- переменная -- в данной области видимости, то ей рекомендуется давать название исходя из ее роли, либо из названия типа, но длиной более двух знаков (чтобы отличать от индексов).
2. Если переменная типа BOOLEAN, то -- имя прилагательное (empty, можно isEmpty).
3. Если переменная обозначает индекс массива (переменная цикла) -- то одно-двухзнаковая (i, j, k2).
4. Процедуры (методы-процедуры) -- глаголы (Do, GetBuffer)
5. Процедуры-функции (методы-функции) -- для предикатов, т.е. возвращающих BOOLEAN, начинаются с Is (IsEmpty), в остальном -- свободные правила (первая буква -- большая), но рекомендуется -- имя существительное (поскольку возвращает значение конкретного типа).
6. Константы -- простые (одно слово) записываются большими буквами, составные -- полной сменой регистра на следующем слове (MAXcurrentINDEX).
7. Модули -- имена существительные, по возможности -- однословные.

В отличие от венгерской нотации никакой привязки имени к конкретному типу не делается. Важнее по имени распознать вид сущности и ее роль в алгоритме.


№ 3824   12-04-2007 13:41 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3822« (Geniepro)
___________________________
Не только имена типов и классов, но и конструкторов типов, а так же имена модулей. 
Так конструктора типов и модули - это тоже типы. Вы же не можете в хаскеле в качестве конструктора использовать тело функции, только декларации типов.


№ 3823   12-04-2007 13:36 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3822« (Geniepro)
___________________________
Ну вот, тогда Вам и квалифицированный импорт должен нравиться! :о))
А он мне нравится и даже очень. Мне не нравится приставка обязательный :))


№ 3822   12-04-2007 13:12 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3821« (Jack Of Shadows)
___________________________

Ответ на »сообщение 3820« (Руслан Богатырев)
___________________________
А для каких языков (с требованием обязательного объявления типа) есть стандарт именования идентификаторов,

В хаскеле наименования типов должны начинаться с большой буквы, наименования функций и переменных - с маленькой.

Не только имена типов и классов, но и конструкторов типов, а так же имена модулей.
Все эти имена (модулей, классов/типов, конструкторов типов) находятся в разных пространствах имён и не пересекаются, а потому могут совместно использоваться. Например:

module Tree (Tree(Leaf, Tree)) where

data Tree a = Leaf a | Tree (Tree a) (Tree a)
              deriving (Eq, Show)           


где имеются модуль Tree, в котором определён АТД Tree, у которого имеется два конструктора - Leaf и Tree.

У компилятора нет проблем с определением, к какому пространству имён относится идентификатор Tree в том или ином месте - он это легко опеределяет.

module Main where

import qualified Tree

tree :: Tree.Tree Integer
tree = Tree.Tree (Tree.Leaf 1) (Tree.Tree (Tree.Leaf 2) (Tree.Leaf 3))

main = do print tree


tree - бинарное дерево с листом 1 и поддеревом из листьев 2 и 3.
Распечатается кстати в таком виде:

Tree (Leaf 1) (Tree (Leaf 2) (Leaf 3))



Мне очень нравится. Это полезная при разборе кода информация.

Ну вот, тогда Вам и квалифицированный импорт должен нравиться! :о))


№ 3821   12-04-2007 12:09 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3820« (Руслан Богатырев)
___________________________
А для каких языков (с требованием обязательного объявления типа) есть стандарт именования идентификаторов,
В хаскеле наименования типов должны начинаться с большой буквы, наименования функций и переменных - с маленькой.
Мне очень нравится. Это полезная при разборе кода информация.


№ 3820   12-04-2007 11:49 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3809« (Мухтар )
___________________________

Оберон предусматривает строгий контроль за "Naming conventions"? Или для "хорошего" стиля программирования это не важно?

Сам язык Оберон/КП такие соглашения и контроль вроде бы не регламентирует. Кстати, а где есть такие правила применительно к BlackBox? Интересно посмотреть, ни разу не видел.

А для каких языков (с требованием обязательного объявления типа) есть стандарт именования идентификаторов, который контролирует компилятор? Вроде бы даже венгерская нотация на уровне компиляторов не узаконена.


№ 3819   Удалено модератором


№ 3818   12-04-2007 06:21 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3812« (AVC)
___________________________
Действительно. Зачем думать? Прыгать надо!
Мимо кассы!
Мои коллеги вас на смех подняли бы, как только узнали бы, кому вы эти слова адресовали! :о)))))
Я и на зелёный-то свет светофора перехожу, оглядываясь, в перепроверке кода перед запуском - ваще параноик... :о)


№ 3817   12-04-2007 04:35 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 3814« (Сергей Перовский)
___________________________

Попались на глаза некоторые документы из минобрнауки, где всерьез обсуждается массовый переход образования на Open Source.
Оберонщики, ваш выход :)


Одну корову уже подоили, теперь пора им браться и за другую. Open Source, если вдуматься, -- беда не меньшая, чем коммерческий софт.


<<<... | 3836—3827 | 3826—3817 | 3816—3807 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 244


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования