А вас не мучают угрызения совести или вы круты сами по себе? ;)
Федор 24.07.2001
Предлагаю дискуссию.О вреде или полезности наворотов в Access-приложениях.См.текст. О вреде или полезности наворотов в Access-приложениях.
Уважаемые коллеги! Под наворотами я понимаю различные ухищрения программиста типа скрытых системных панелей, меню и т.п. вплоть до «невидимых» таблиц, запросов, модулей и борьбы с «Shift». Цель таких наворотов, как мне кажется, двоякая. Во-первых, приблизить приложение к стилю запускаемых программ (чтоб пользователь не замечал, что работает в Access), во-вторых, затруднить или сделать невозможным «копание» пользователей в святых для программеров местах, типа текста модулей. И, если первое как-то можно понять, то второе – просто не лезет ни в какие рамки (мнение мое, конечно). Итак, мои основные тезисы: 1. Навороты вредны! 2. Тексты модулей должны быть всегда открыты!
Ограничения для моих тезисов (с этими возражениями я сразу согласен):
1. Конечно, речь не идет о мощных КОММЕРЧЕСКИХ приложениях. Речь идет о средне-статистических разработках «для конкретного заказчика», коих, по-моему, 99%. 2. Навороты полезны для общего развития программиста, ибо повышают его проф-уровень! 3. Навороты уместны как средство дизайна. 4. Навороты имеют право на присутствие, но с наворотом, снимающим навороты.
Краткое обоснование. 1. Если приложение разрабатывается под конкретного заказчика, то для внесения изменений и добавлений к нему не набегаешься (если в этом не главная цель разработчика – за отдельную плату). Поэтому надо оставить системные возможности Access для работы с базой более-менее квалифицированного пользователя (например, для создания проверочных запросов и т.п.). 2. Тексты должны быть доступны ВСЕГДА. Аргументы: - кому надо, все равно достанет; - если уж хочется разбираться в чужих программах – дай Бог; - все, что написано, уже было написано(90%); - не надо думать, что ваш модуль гениален; - так мы двигаем прогресс (не надо изобретать велосипед). Возможно, это противоречит предыдущему пункту, но здесь позволю себе пример в скобках. (Есть у меня приятель. Гениальный математик. Отлично играет в шахматы. Однажды, я увидел у него книгу «Творчество саратовских шахматистов». «Почему не сборник партий Каспарова?» - спросил я. «Я хочу знать как мыслят нормальные, примерно равные мне по игре люди» - был ответ.). Так и с программами. Мне, например, интересно как пишут нормальные люди. (Надеюсь эту мысль оппоненты не будут доводить до абсурда. Гетца, Литвина, Гилберта надо изучать!). Ибо иногда интересен АЛГОРИТМ, а не реализация!
С уважением, Владимир Лаврушкин. Пенза. Россия. Никнэйм на форуме – Федор.
Marat 25.07.2001
Извиняюсь за грубость - глупо. Конечно, если делать навороты для похожести на exe это мальчишество, но для саморекламы может быть и полезно. Но защищать свои приложения необходимо: 1. От опытного чайника, как вносить "полезные" измения в код и структуру базы он научился, а зачем этот код был написан, он еще не знает. В результате, заказчик звонит Вам в 3 часа ночи и сообщает, что Ваша программа "неправильно считает". У Вас такого не было? Удалили один запрос (а на фиг он нужен:). И все, накрылась база, надо ехать через весь город и восстанавливать. Защита самого клиента. Кто-то шибко умный, может внести небольшое дополнение в ваш код, формулу чуть подправит. Мелкое такое мошеничество. Денежки чуть по другому считаются. Вы передали свой продукт, вы должны за него ручаться. 2. Я могу написать немощное, но КОММЕРЧЕСКОЕ приложение. Так, небольшую программку по учету продукции небольшого магазина. Я и не претендую на гениальность, но все ж таки сидел ночами, и пыхтел. Посадили на ту базу молодого парнишку, а тот, не будь дураком, взял и скопировал базу, и продал в другой магазин, с внесением небольших изменений. Обидно как-то. Потом, опять-таки, если заказчик решил внести большие изменения в Вашу базу, обратиться он может только к Вам, а не к сторонему человеку. И Вы здесь будете хозяином. 3. Мотание по мелочам. Любая, мало-мальски сложная база требует отладки, минимум месяц или два. Так что составляя договор, расчитывайте и на это. Ничего не начинает работать идеально с самого начала. У меня такого не было, по меньшей мере. Может от моей природной ограничености. 4. - так мы двигаем прогресс. - Мы двигаем проресс, общаясь друг с другом на форуме. "Кому надо, все равно достанет". И пусть достает, но не глупым копированием, а осмыслением.
Может я не очень убедителен, но в любом случае, эта дисскуссия ничего не изменит. Все будет идти своим чередом. Как и фраза - "Ребята - давайте жить дружно", не останавливает драки.
Федор 25.07.2001
Это очевидные вещи, но , m.b., все равно где-то у меня есть сомнения. И речь не шла, что мне не хочется ездить к заказчику. 2 месяца - это очень хорошо. Иногда что-нибудь вылезет и через год. Речь о том, чтобы позволять "БОЛЕЕ-МЕНЕЕ" квалифицированным пользователям составлять какие-то технологические запросы и т.п., а для этого надо оставить хотя бы строкук меню.…
Timour 25.07.2001
Дискуссия очевидно бессмысленна 1. По поводу "наворотов": В любом учебнике по программированию написано, что результат должен достигаться максимально простыми средствами ("красоте предпочитайте стандарт"). А дальше все зависит от того насколько сложный (в смысле "навороченный") требуется результат. И все. А любые самоограничения не обоснованные логически (например использование недокументированных особенностей OS - несовместимостью со следующими версиями) или идеологией среды разработки (приличные программисты на C и Pascal не используют GOTO) не имеют смысла.
2. По поводу "OpenSource" - в частном случае это всего-навсего предмет договоренности с клиентом. При "эксклюзивных" (под конкретного заказчика) разработках (для которых и предназначен Access) для длительного пользования нормальным является предоставление клиенту исходников. При разработках для массовых продаж - нет (хотя какая-то часть может быть открыта и в этом случае). В глобальном плане с OpenSource та же история, что и с лекарствами - по идее для блага человечества они должны распространяться бесплатно и без патентов, но попробуйте реализовать эту идею и посмотрите будет ли после этого в фармакологию (или разработку ПО) вложен хоть один рубль (не говоря уже о долларе). Принцип OpenSource очень трудно согласовать с принципом вознаграждаемости труда.
Nic 26.07.2001
По принципам нормальной медитации: Почитал... Навеяло :)))) (Собственно с чего у Федора возник вопрос и желание его обсудить? Наверно причиной послужило обилие в сети примеров сих "наворотов". Да и не только наворотов, но и просто решений. И многие эти решения используют. Используют, потом начинают "защищать" свои базы. Иногда защита базы начинает мотивироваться собственной умностью и защитой кода… стащенного с инета. И сей разработчик говорит себе: а зачем я защищаю - все и так все найдут; все известно)
Все навороты можно найти ... Все можно сломать...
Радует другое, когда происходит ОСМЫСЛЕНИЕ написанной базы. Здесь не надо смеяться! Я ведь пока в головке :) структуру и принцип работы не увижу - за базу и не сяду. Но когда база написана... И вдруг осознаешь внутренний ее ритм и законы - и рисуешь удачное и изящное решение сложного сочетания задач своими методами - ощущаешь себя писателем с большой буквы П. Хотя все известно, и многие приемы все натасканы из Инета...
Блин! Ну кто из Вас не кричал: - Yes-s-s! не бил при этом кулаком по столу и не сообщал озадаченно глядящей на Вас жене или маме : - Я СДЕЛАЛ это!!!
Ну да, (глядя) на апельсин. Это почти также вкусно, как ... :))))
Федор 26.07.2001
Спасибо, GS. Меня ведь тоже посещают импульсы типа "Йесссс". Но потом обуревают комплексы. Имею ли я право... Хотя многое почерпнутое из инета, а многое придумано самим и работает! И все смешалось. И кажется, что сам все намыслил. И вот... комплексы.