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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  00:58[Войти] | [Зарегистрироваться]
Обсуждение темы:
Можно, но не нужно.


Последнее время я не программирую, а рaзгpебаю зaвалы которые оставили до меня покoления программистов. Чтобы внести минимальное декоративное изменение требуется исправить несколько модулей и потратить несопоставимую по сложности работу по выискиванию всех мест, в которые надо внести изменения.
Дело в том, что тем методы, которые допустимы в примерах, олимпиадах и лабах по программированию, совершенно неприемлемы при создании крупных и долгоживущих прикладных программ.
Предлагаю в этой теме публиковать примеры, как не надо программировать на Delphi, что бы потом не было мучительно больно от встречи с теми, кто исправлял твой код.

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

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

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


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

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

Отслеживать это обсуждение
<<<... | 411—402 | 401—392 | 391—382 | ...>>>
Всего сообщений в теме: 421; страниц: 43; текущая страница: 3


№ 401   18-03-2010 01:26 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 400« (Geo)
___________________________
>>> на той же флешке лежит папочка с Word.exe

Вот-вот.
Если бы ещё производители флешек совместили некоторые их них с ключами с уникальными ID
- это был бы замечательный прорыв в распространении софта.
Уникальные ID в массовом производстве не проблема - например регистраторы iButton.


№ 400   18-03-2010 00:37 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 395« (Александр Алексеев)
___________________________
>>> Напротив, часто просят оригинальный диск, потому что насквозь почиканая пиратка не запускается (или даже не устанавливается) из-за недоустановленной зависимости.
>>> (т.н. "сборки" - это другой вопрос)
Частично согласен, так как сам всегда среди пираток предпочитал полные копии дистрибутивов, а не катрированные нашими "умниками" версии. И вовсе не из-за недоустановленных зависимостей. А либо из-за корявой русефекации (в те времена когда не было мультиязычной поддержки), так как мне с нормальной английской версией работать проще, чем с корявой русской. Либо из-за того, что некий надмозг решил, что вот эта фича является ненужной. А мне она очень даже нужна.

Но, видимо, имеет смысл сказать несколько слов и про "другой вопрос".

В свое время была очень популярна одна сборка Quake Arena. Я уже не помню точно цифры, но разница с оригиналом на порядок и никакой установки. Копируешь к себе папку с файлами и запускаешь EXE. Весь функционал, необходимый для самой игры (собственно то, ради чего конечному пользователю и нужна эта программа), в этой сборке присутствует.

Сейчас вот слышал (сам пока не видел), что есть версии MS Office, так сказать, partable: на той же флешке лежит папочка с Word.exe, который и запускается. Возможно, при этом мы теряем что-то. Какие-нибудь автообновления (которые я и так отключаю), что-нибудь с хелпом, с библиотеками клипартов или еще что-то (не видел, строю гипотезы). Тут основные причины популярности, конечно же, не в "удобстве установки", но все же основной функционал (ради которого собственно и используется программа) сохраняется.
 Geo


№ 399   17-03-2010 10:41 Ответить на это сообщение Ответить на это сообщение с цитированием
Да, но не очень понятно, зачем ему это делать. Если он может запустить программу в режиме админа - так пускай всегда так делает.
В любом случае, это не хуже альтернативы ("программа не работает вообще").

Приведу небольшой пример. Стояла себе софтина и работала. Потом пришёл новый сисадмин и решил изменить структуру пользователей на компе. Хорошо ещё, если он представляет себе, что такое виртуализация. А если нет - где он будет искать данные? По-моему, это тоже весьма неприятное занятие.


№ 398   17-03-2010 07:24 Ответить на это сообщение Ответить на это сообщение с цитированием
>>> Проблема в том, что если вдруг программа окажется запущенной в режиме администратора или даже из-под другого пользователя, юзер будет удивлён - а куда пропали данные?
Да, но не очень понятно, зачем ему это делать. Если он может запустить программу в режиме админа - так пускай всегда так делает.
В любом случае, это не хуже альтернативы ("программа не работает вообще").


№ 397   17-03-2010 06:02 Ответить на это сообщение Ответить на это сообщение с цитированием
Руководящая и направляющая приняла решение о внедреже Linux по-русски [5 млрд.руб]
http://www.rbcdaily.ru/2010/03/15/media/464380
Так что реестры и папки с пробелами выйдут их апологетам боком.


№ 396   17-03-2010 03:55 Ответить на это сообщение Ответить на это сообщение с цитированием
Бонус-возможность: если вы запускаете старую программу не под (ограниченной) учёткой админа, то (сюрприз) она будет работать. Потому что тут вмешивается виртуализация, которая перенаправляет ввод-вывод для защищённых мест в альтернативное хранилище. Чем не рай земной?

Проблема в том, что если вдруг программа окажется запущенной в режиме администратора или даже из-под другого пользователя, юзер будет удивлён - а куда пропали данные?


№ 395   17-03-2010 01:10 Ответить на это сообщение Ответить на это сообщение с цитированием
>>> А что мы имеем в сухом остатке: из двух зол выбрали обе, перестали работать и криворукие и пряморукие.
Это, мягко говоря, не так. Все старые программы, которые работали только под админом - точно так же продолжают работать под админом. Они как <b>НЕ</b> работали под ограниченной учёткой, так и не работают сейчас.
Философский вопрос: если программа никогда и не работала, является ли багом то, что она не работает сегодня?
Бонус-возможность: если вы запускаете старую программу не под (ограниченной) учёткой админа, то (сюрприз) она будет работать. Потому что тут вмешивается виртуализация, которая перенаправляет ввод-вывод для защищённых мест в альтернативное хранилище. Чем не рай земной?

>>> Тем, что в ini нет необходимости хранить информацию о версии и о его местоположении.
Да, зато меняется местоположение ini-файла. А если нет - то информация будет внутри ini-файла - точно так же, как с реестром.
Так что либо мы имеем те же самые проблемы, либо вместо "ой, тут надо Search&Replace сделать", будет "ой, тут надо в какое-то другое место скопировать с заменой - не ошибиться бы".

>>> Надо сначала удалить всю ветку в regedit (не дай бог не ту), потом запустить соответствующий файл.
Кто мешает в reg-файл вставить:
[-HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Editor\Highlight\Assembler]
?

>>> Не понял данного пассажа.
Аналогия. Если вы пишете программу для себя и/или корпоративный софт - вы вправе делать как угодно и требовать что угодно. Почему? Потому что никто, кроме вас, её использовать не будет. Можете делать установку распаковкой, можете писать в C:\Windows - это нормально, ничего противозаконного тут нет.
Однако. Если вы пишете коробочный софт, который будет использоваться ещё кем-то, все эти действия выше - однозначное <b>НЕТ</b>, которое (если вы их реализуете) приведёт только к тому, что некий/значительный процент пользователей/клиентов просто удалит программу. Почему? Потому что их машина - это не ваша машина. Поэтому делать надо не так, как <b>вам</b> удобно, а как общепринято, как диктуется правилами.
Например, мне <b>неудобно</b> устанавливать программы распаковкой. Потому что вместо запуска проги и щелчка по экспресс установке или далее/далее/далее, я вынужден открыть папку с архивом, открыть архив, найти и открыть Program Files, распаковать, потом ещё создать ярлыки и настроить ассоциации... А удалять её? Блин, да я с ума сойду скорее - а лучше найду нормальную прогу, которая не парит мне мозг.
Окей, вам неудобно установщиком, мне неудобно архивом, так почему же предпочесть надо установку установщиком? Потому что это общепринятый вариант, что означает, что большинство пользователей с ним знакому и так или иначе он их устраивает. Практически все пользователи смогут установить программу с установщиком, и не слишком большой процент - прогу в архиве.

>>> Поэтому, в частности, пользуются популярностью те пиратские дистрибутивы, в которых такой вот программный продукт с наворченным инсталлятором подвергается доработке, а потом архивируется. Сбросил архив на винт, распаковал и пользуйся.
Эммм... пиратские дистрибутивы пользуются популярностью по <b>другим</b> причинам. Напротив, часто просят оригинальный диск, потому что насквозь почиканая пиратка не запускается (или даже не устанавливается) из-за недоустановленной зависимости.
(т.н. "сборки" - это другой вопрос)

>>> Ну и на фига мне (пользователю) это надо?
Наверное, чтобы программа вообще работала бы после установки (не факт, что будет после распаковки).
Чтобы файлы программы открывались бы в ней, а не выводили бы окно "я не знаю, что это за чёрт". И т.п.

>>> узнать как меня зовут (мне то это на хрена?), показать мне рекламу (бр-р-р-р), узнать, что у меня стоит нужная версия DirectX (я отвечаю, стоит; можно не проверять), создать ярлыки на рабочем столе и в Start-меню (которые я потом удаляю и/или переношу туда, где мне это удобнее).
Это просто плохой дистрибутив, который не очень-то следует правилам.


№ 394   16-03-2010 23:09 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 393« (Игорь Шевченко)
___________________________
>>> Я предпочитаю оставаться на позиции, что в разных случаях настройки имеют полное право храниться и обрабатываться разными способами, в зависимости от задачи
Удивительно, но я тоже с самого начала говорю (ну, или пытаюсь говорить) то же самое.

Ну, и ладно. Зато поговорили :)
 Geo


№ 393   16-03-2010 14:52 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 392« (Geo)
___________________________

У меня возникает ощущение, что идет спор ради спора :) Я предпочитаю оставаться на позиции, что в разных случаях настройки имеют полное право храниться и обрабатываться разными способами, в зависимости от задачи. Единого со всех сторон кошерного способа не существует. Если у вас есть что возразить против этой позиции - милости прошу. А разговоры насчет ассирийцев, БЭСМ-6 (кстати, начинал с нее, если что), это к способу работы с настройками относится крайне отдаленно, не находите ? :)

С наилучшими,


№ 392   16-03-2010 13:59 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 387« (Игорь Шевченко)
___________________________
>>> Я про то же - не лучше бы усилия направить на полезную функциональность в программе
Тэк-с... Настройки не нужны. Ладно. Интерфейс тоже не нужен. Алгоритмы новые не нужны. Похоже, пора поговорить о том, что такое "полезная функциональность". Пока получается, что пойдем на БЭСМ-6 и будем с перфокарт вводить данные для решения очередной системы диффуров (благо, алгоритмов там реализовано предостаточно). Этим исчерпывается полезная функциональность, которая может быть реализована на компьютере?

Чем отличается WinWord от Лексикона? В первую очередь, WYSIWYG. Это очень удобно. Но это интерфейс, который не нужен. Проверка орфографии и грамматики очень помогает при подготовке текстов (хотя и не заменяет грамотность ;-)). Данные механизмы -- это алгоритмы быстрой проверки слов и способы хранения словарей, которые тоже не нужны.

>>> чем разрабатывать/отлаживать/тестировать дополнительный код по работе с бинарными настройками
А настройки бывают только портянками на полтора мегабайта? А если у меня все настройки хранятся в записи (record) специального типа (причем, чтроки -- только Short String), то механизм сохранения/загрузки тоже потребует сложной разработки/отладки/тестирования?

>>> Например, традиция Unix по возможности рекомендует хранить и обмениваться данными в текстовом формате по одной простой причине - для обработки текста написана, отлажена и отдокументирована тонна программ, включая глаза.exe :)
А древние ассирийцы предпочитали тексты на глиняных табличках, а не на компьютерах. Все то же самое, но надежность хранения данных просто потрясающая. Никакое резервное копирование не сравнится.

Затем... Пусть я живу в доме, где кроме меня все остальные -- врачи. Они на работе надевают белый халат. Я работаю автослесарем. Я тоже должен надевать на работу белый халат? Может быть, все же будем отталкиваться от того "как лучше" (в данном конкретном случае), а не от того "как принято" (в том или ином сообществе).

Далее... У меня такое ощущение, что тема постоянно скатывается к рассмотрению серверов. Да, там удобнее хранить настройки в виде текста, а GUI является выпендрежом. Да, там может возникнуть потребность в обмене конфигурационными файлами с другими людьми. Но если я пишу программу, работающую с пользователем в интерактивном режиме (причем в процессе работы пользователь имеет возможность частичной кастомизации), то почему он должен для сохранения своих настроек обязательно править какой-то файл? Вот я поставил в Бате сортировать пришедшие письма по дате поступления (кликнув по заголовку соответствующего столбца) и у меня теперь всегда письма сортируются по дате. А оказывается правильно было бы, если бы я вышел из программы, открыл текстовый файл настроек и прописал бы там строчку, отвечающую за изменение порядка сортировки, так что ли? Я против.


Ответ на »сообщение 388« (Сергей Перовский)
___________________________
>>> Но как быть с "персональным компьютером коллективного пользования"?
Я никогда не даю конкретных советов, пригодных для любой жизненной ситуации. Поэтому вариант хранения настроек рядом с EXE рассматривается только в том случае, когда это имеет смысл. Например, кроме гигантских программных комплексов на компьютерах еще присутствуют мелкие утилитки. Зачастую, предназначенные только для одного человека.

>>> Кроме того, в заботе о безопасности, модификация файлов в "program files" ограничена
Про это я уже писал в »сообщение 380« в самом конце.


Ответ на »сообщение 389« (Александр Алексеев)
___________________________
>>> Угу, а кое-кому было бы удобнее иметь прямой доступ к аппаратуре (и зачем вообще эта ОС мне палки в колёса вставляет?!). Играть по правилам - всегда тяжелее, но это не значит, что так не нужно делать.
Не понял данного пассажа. Причем тут прямой доступ к аппаратуре?! Нужен прямой доступ, берем другую ОС, которая это позволяет. И вообще, я привел высказывание с точки зрения пользователя. Что делает инсталляция? Она копирует файлы с дистрибутивного диска на жесткий диск компьютера (возможно, с распаковкой). Причем выполняет это дело очень медленно (потому что попутно делает еще кучу дел). Ну и на фига мне (пользователю) это надо? Мне было бы намного удобнее, если бы я скопировал файл на винт и распаковал бы архивы (если они есть). Это было бы намного быстрее. Но нет... Дистрибутив должен еще расспросить меня, что ставить, а что нет (я сам распакую то, что надо), узнать как меня зовут (мне то это на хрена?), показать мне рекламу (бр-р-р-р), узнать, что у меня стоит нужная версия DirectX (я отвечаю, стоит; можно не проверять), создать ярлыки на рабочем столе и в Start-меню (которые я потом удаляю и/или переношу туда, где мне это удобнее). Ну, и так далее... Поэтому, в частности, пользуются популярностью те пиратские дистрибутивы, в которых такой вот программный продукт с наворченным инсталлятором подвергается доработке, а потом архивируется. Сбросил архив на винт, распаковал и пользуйся. Не понравилось, стер. Значит это иногда возможно. Значит разработчики всей этой мутотени разрабатывают весь этот геморрой вовсе не для удобства пользователей (ну, или не для всех пользователей).
 Geo


<<<... | 411—402 | 401—392 | 391—382 | ...>>>
Всего сообщений в теме: 421; страниц: 43; текущая страница: 3


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

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

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

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

Перейти на конкретную страницу по номеру
  
Время на сайте: 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» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

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