OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 00:50

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 62 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения: Re: Портирование VisualOberon под Ofront+
СообщениеДобавлено: Пятница, 12 Май, 2023 07:23 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1163
да, вы правы, это как раз те редкие случаи, когда оно надо. поэтому я в LC просто переименовал `.Close` в `.ForceCloseFile`. уродливое-имя-фиг-запомнишь выбрано специально. но я в LC могу себе позволить немного наплевать на совместимость, а вот как быть с mainline — не знаю. я бы всё-таки голосовал за переименование: для переноса на 2.0 всё равно придётся некоторые правки кода делать — пусть люди заодно и подумают ещё раз, точно ли им там `.Close` нужно. в документации написать страшные примеры, почему не нужно, чтобы пока ищут новое название — испугались как следует. я что-то типа такого у себя написал:

ROCEDURE (f: File) ForceCloseFile
NEW, ABSTRACT
Closes an open file. You should never call this method manually, the garbage collector will automatically close all unused files (albeit at an unspecified time). Please, note that opening the same file several times will return the same file object, and if you will try to close it, it may break some other code later. That's why it is better to rely on GC for file closing.

конечно, "should never call" — это, пожалуй, слишком сильная конструкция. а с другой стороны — лучше лишний раз напугать, я считаю, и для подавляющего большинства случаев так и есть. а если начать писать в документации сочинения, то люди её читать и вовсе не станут.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Портирование VisualOberon под Ofront+
СообщениеДобавлено: Пятница, 12 Май, 2023 10:54 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
arisu писал(а):
да, вы правы, это как раз те редкие случаи, когда оно надо. поэтому я в LC просто переименовал `.Close` в `.ForceCloseFile`. уродливое-имя-фиг-запомнишь выбрано специально. но я в LC могу себе позволить немного наплевать на совместимость, а вот как быть с mainline — не знаю. я бы всё-таки голосовал за переименование: для переноса на 2.0 всё равно придётся некоторые правки кода делать — пусть люди заодно и подумают ещё раз, точно ли им там `.Close` нужно. в документации написать страшные примеры, почему не нужно, чтобы пока ищут новое название — испугались как следует. я что-то типа такого у себя написал:

ROCEDURE (f: File) ForceCloseFile
NEW, ABSTRACT
Closes an open file. You should never call this method manually, the garbage collector will automatically close all unused files (albeit at an unspecified time). Please, note that opening the same file several times will return the same file object, and if you will try to close it, it may break some other code later. That's why it is better to rely on GC for file closing.

конечно, "should never call" — это, пожалуй, слишком сильная конструкция. а с другой стороны — лучше лишний раз напугать, я считаю, и для подавляющего большинства случаев так и есть. а если начать писать в документации сочинения, то люди её читать и вовсе не станут.

Люди не очень любят, когда кто-то создаёт им дополнительную работу. Я думаю, что достаточно краткой ясной и исчерпывающей технической заметки в википедии про Блэкбокс. И ссылку на эту заметку разошлем через новостной канал.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 62 ]  На страницу Пред.  1, 2, 3, 4

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB