powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создание зависимостей на поля и таблицы входящие в execute statement
25 сообщений из 101, страница 4 из 5
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003689
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko,

я тебе этим оператором такой порядок наведу что мало не покажется. Сделаю какую нибудь тупую процедуру ничего не делающую и прицеплю к ней все объекты метаданных. Мало того. Раз есть оператор создающий зависимость значит должен быть и оператор её удаляющий. Ну тогда можно тупо у процедур не имеющих execute statement отнимать абсолютно легальные зависимости.


Короче в сад.
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003708
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисMikhail Tchervonenko,

я тебе этим оператором такой порядок наведу что мало не покажется. Сделаю какую нибудь тупую процедуру ничего не делающую и прицеплю к ней все объекты метаданных. Мало того. Раз есть оператор создающий зависимость значит должен быть и оператор её удаляющий. Ну тогда можно тупо у процедур не имеющих execute statement отнимать абсолютно легальные зависимости.


Короче в сад.

наличие select в прцедуре создаёт зависимость и не требует оператора удаления зависимости если этот select из процедуры удаляется.
Почему в предложенном выше синтаксисе такой оператор вдруг должен появляться?
убрал из процедуры объявление зависимости, зависимость пропала.
Не оч. понимаю Вашу логику.
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003713
afgm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenkoпотому и предлагаю создать оператор создания зависимости...
Филиал Ада на Земле. Это как хинты в комментах (докстрингах) в скриптовых языках, иначе среда разработки не знает чего ждать от метода на выходе. Нафиг-нафиг. :)
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003716
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Afgm!
You wrote on 9 июля 2015 г. 16:32:50:

Afgm> Нафиг-нафиг. :)
ну вот мы и достигли консенсуса
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003717
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgmMikhail Tchervonenkoпотому и предлагаю создать оператор создания зависимости...
Филиал Ада на Земле. Это как хинты в комментах (докстрингах) в скриптовых языках, иначе среда разработки не знает чего ждать от метода на выходе. Нафиг-нафиг. :)
я бы сказал иначе, плохой мир лучше хорошей войны
так и хоть какая то легальная возможность создать зависимость лучше чем скрытый код который эту зависимость имеет но не создаёт
По сути это просто метка которая говорит зайди сюда если исправил это, что плохого если она есть? Гораздо хуже когда на продакшене вдруг вываливается исключение которое, при наличии такой метки, можно было избежать
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003718
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийAfgm> Нафиг-нафиг. :)
ну вот мы и достигли консенсуса


... а в 2002 году в epsilon.public.interbase NULL`ы и пиво обсуждали... В общем в тему я так и не вьехал
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003721
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterМимопроходящийпропущено...

ну вот мы и достигли консенсуса


... а в 2002 году в epsilon.public.interbase NULL`ы и пиво обсуждали... В общем в тему я так и не вьехал
это просто тут много букафф и пива захотелось чтой то ....
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003723
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Darkmaster!
You wrote on 9 июля 2015 г. 16:37:26:

Darkmaster.. а в 2002 году в epsilon.public.interbase NULL`ы и пиво обсуждали...
и все были молодыми, кудрявыми, стройными, двухметроворостыми...

а нынче старые, лысые, пузатые пеньки трухлявые!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003725
afgm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenkoafgmпропущено...

Филиал Ада на Земле. Это как хинты в комментах (докстрингах) в скриптовых языках, иначе среда разработки не знает чего ждать от метода на выходе. Нафиг-нафиг. :)
я бы сказал иначе, плохой мир лучше хорошей войны
так и хоть какая то легальная возможность создать зависимость лучше чем скрытый код который эту зависимость имеет но не создаёт
По сути это просто метка которая говорит зайди сюда если исправил это, что плохого если она есть? Гораздо хуже когда на продакшене вдруг вываливается исключение которое, при наличии такой метки, можно было избежать
Я не говорю, что это хорошо, но давайте будем посмотреть вокруг.
T-SQL, PHP, Python ... Пока не запустишь - не узнаешь ничего о работоспособнеос
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003740
afgm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgm,

случайно отправил.

Пока не запустишь - не узнаешь ничего о работоспособности.
Следовательно Тесты!
Я понимаю желание сохранить всепоглощающий контроль зависимостей в FB. Он и польза и зло в одном лице. Но видимо тот случай, когда теги зависимостей это уже перегиб.
С другой стороны если собирать скрипты через linq-flow-подобный интерфейс, то можно делать это поэтапно и проследить зависимости.
Есть у данного подхода много минусов: и не всякий запрос можно написать, и не везде есть такая магия, и ещё всё это вне БД и т.д.
Надеюсь развитие СУБД и технологий распределения-хранения-обработки данных со временем станет прозрачнее, и гонять данные между потоками <-> кластером <-> БД будет относительно просто и прозрачно. Но это вероятно нескоро, уж больно велик уровень слоёв абстракций у этой луковицы технологий. </поток сознания>
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003755
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgmMikhail Tchervonenkoпропущено...

я бы сказал иначе, плохой мир лучше хорошей войны
так и хоть какая то легальная возможность создать зависимость лучше чем скрытый код который эту зависимость имеет но не создаёт
По сути это просто метка которая говорит зайди сюда если исправил это, что плохого если она есть? Гораздо хуже когда на продакшене вдруг вываливается исключение которое, при наличии такой метки, можно было избежать
Я не говорю, что это хорошо, но давайте будем посмотреть вокруг.
T-SQL, PHP, Python ... Пока не запустишь - не узнаешь ничего о работоспособнеос

ну да, но FB ж лучшеж всех должен быть :) хотелось бы пораньше узнавать некоторые проблемы.

п.с. кстати, никто не проверял, если определять переменную с type of column но не инициализировать её, зависимость создастся или нет, может компилятор тупо её выкидывает в таком случае? если нет, то по идее, память она должна начинать отжирать только в момент нициализации или это происходит уже при декларировании? (иначе нафига декларирование всегда надо в начале процедуры писать). По идее это определяющий фактор для выбора: использовать не исполняемый кусок кода или пустые переменные. С переменными было бы короче если не надо инициализировать.
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003760
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgmafgm,

случайно отправил.

Пока не запустишь - не узнаешь ничего о работоспособности.
Следовательно Тесты!
Я понимаю желание сохранить всепоглощающий контроль зависимостей в FB. Он и польза и зло в одном лице. Но видимо тот случай, когда теги зависимостей это уже перегиб.
С другой стороны если собирать скрипты через linq-flow-подобный интерфейс, то можно делать это поэтапно и проследить зависимости.
Есть у данного подхода много минусов: и не всякий запрос можно написать, и не везде есть такая магия, и ещё всё это вне БД и т.д.
Надеюсь развитие СУБД и технологий распределения-хранения-обработки данных со временем станет прозрачнее, и гонять данные между потоками <-> кластером <-> БД будет относительно просто и прозрачно. Но это вероятно нескоро, уж больно велик уровень слоёв абстракций у этой луковицы технологий. </поток сознания>

эххх, тесты
видели бы Вы глаза начальников которым говориш что тестирование тоже требует написания кода, времени и соотв. денег. Все говорят о тестах а на практике мало ими пользуются. Сколько контор перевидел, одна из десятка пишет тесты. В основном сидят девочки и тупо лазят по программе, в лучшем случае использую какой то план тестирования и ставят отметки что это проверено. И это в Европе, что творится в Азии, индии или СНГ приходится только предполагать. Опыт показывает что 100% покрытие тестами скорее исключение нежели правило.
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003793
afgm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail TchervonenkoОпыт показывает что 100% покрытие тестами скорее исключение нежели правило.
100%... У меня чуть все кости в теле не треснули от натуги :)
Основной - деньгосчитающий функционал из прикладной, и ядро фреймворка (своих либ) из общей логики уже хорошо.
Всё завит от реалий, но да, часто работа в не-IT-профильных конторах это "Пиши код, ...ть!!!"
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003797
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgmMikhail TchervonenkoОпыт показывает что 100% покрытие тестами скорее исключение нежели правило.
100%... У меня чуть все кости в теле не треснули от натуги :)
Основной - деньгосчитающий функционал из прикладной, и ядро фреймворка (своих либ) из общей логики уже хорошо.
Всё завит от реалий, но да, часто работа в не-IT-профильных конторах это "Пиши код, ...ть!!!"
да и в профильных тоже не все в порядке, поверьте, был там ...
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003804
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenkoafgmafgm,

случайно отправил.

Пока не запустишь - не узнаешь ничего о работоспособности.
Следовательно Тесты!

эххх, тесты
видели бы Вы глаза начальников которым говориш что тестирование тоже требует написания кода, времени и соотв. денег. Все говорят о тестах а на практике мало ими пользуются. Сколько контор перевидел, одна из десятка пишет тесты.
Из свежего.
RSDNОбсуждение автоматизации тестирования в кулуарах любой конференции — как треп студентов-первокурсников о сексуальном опыте.

Несколько человек действительно попробовали и им понравилось, кто-то видел в интернете как автоматизируют другие, кому-то рассказали старшекурсники, но большинство до сих пор тестирует руками без перспективы автоматизации в ближайшие несколько лет.
Отсюда.
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003821
afgm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коваленко Дмитрий,

кстати, раз зашёл, вот IBProvider судя по статьям да - это тесты. Но без этого никак. SQLite Well-commented source code with 100% branch test coverage. И много кто ещё. Это системный (не надо придираться к термину) софт.

А по поводу внедрения чего-либо у прикладника, то тут можно только процитировать: "Лучше сделать и просить прощения, чем вечно пытаться выпросить время на рефаторинг/тесты/..."
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003862
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgmSQLite Well-commented source code with 100% branch test coverage.
То есть в SQLite в принципе невозможно найти баг, поскольку они все отловлены ещё на этапе
тестирования?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003886
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgmКоваленко Дмитрий,

кстати, раз зашёл, вот IBProvider судя по статьям да - это тесты. Но без этого никак. SQLite Well-commented source code with 100% branch test coverage. И много кто ещё. Это системный (не надо придираться к термину) софт.

А по поводу внедрения чего-либо у прикладника, то тут можно только процитировать: "Лучше сделать и просить прощения, чем вечно пытаться выпросить время на рефаторинг/тесты/..."
Часто софт пишется дабы по быстрому получить деньги, что будет потом интересует не очень и будующие ошибки даже приветствуются. Я бы сказал даже таких случаев большинство, по крайней мере мне попадалось. Ситуация обычно такая, напишите нам а поддерживать будет наш мальчик. Потому для фирмы основная заработанная сумма это период написания. Вероятность того что будет поддержка не очень высока. Потому в код закладывается необходимость в будующем что бы к вам обратились. Это может быть ошибка или что то что с изменением даты происходит. (напр. в отчете вписывается фиксированная дата или что то подобное). И если потом возникнут проблемы это хорошо, т.к. в договоре не написано что код не может содержать ошибок, а правка это деньги. Вот такая реальность. На фоне всего этого тесты как бы важны не очень. А вот если в конторе свой it отдел который сам все пишет ситуация меняется, хочется писать так, что б потом не дёргали. Потому всегда говорил, свой хороший спец, а лучше несколько, в итоге будет дешевле чем услуги сторонней конторы. Речь понятно о единичных и не маленьких продуктах. В коробочных заложена другая логика.

п.с. если спец не заинтересован материально в качественном продукте и ему не дано достаточно времени на разработку, качества не жди. а так можно и 10 шапок сшить, но маленьких.
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003975
afgm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТо есть в SQLite в принципе невозможно найти баг, поскольку они все отловлены ещё на этапе
тестирования?
Да нет конечно. Это означает ровно то, что написано и не более.
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003980
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgmЭто означает ровно то, что написано и не более.
Если написано "тестами покрыт каждый вариант исполнения кода", то как ещё это можно
понимать, кроме как "работа была проверена в абсолютно любой возможной ситуации"?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003982
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgm,

да бред там написан. Нет конечно можно покрыть тестами все вызовы функций. А вот все варианты описать вряд ли. Ибо подсознательно сочиняющий тесты всегда смотрит на них так. Вот я даю такой результат, на выходе должен быть такой (обычно положительный) результат. А на деле выходит по другому. Поэтому баги всё равно находят. А тесты для багов уже делают по факту его исправления.
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39003999
afgm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovafgmЭто означает ровно то, что написано и не более.
Если написано "тестами покрыт каждый вариант исполнения кода", то как ещё это можно
понимать, кроме как "работа была проверена в абсолютно любой возможной ситуации"?..

Я не знаток английского, но дословно "покрыто 100% всех ветвлений кода". Криво с точи зрения русского языка, но яснее по сути.
И даже если взять твой вариант перевода, то как одно вытекает из другого?
Покрытие всеx веток, не означает покрытия всех комбинаций. У многих ошибок есть накопительный эффект.
Зная тебя как не глупого человека, могу воспринимать вопрос как троллинг? :)
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39004006
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgmПокрытие всеx веток, не означает покрытия всех комбинаций.
Нууууу.... Это как-то слишком сложно для моего понимания.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39011435
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovafgmПокрытие всеx веток, не означает покрытия всех комбинаций.
Нууууу.... Это как-то слишком сложно для моего понимания.


это типа
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
procedure DoSmth(Param1, Param2: Byte);
var
  Err: Integer;
  ErrTexts: array[0..1] of string = ('No error', 'Parameter is zero');
...
Err := 0;
if Param1 = 0 then
  Inc(Err);
if Param2 = 0 then
  Inc(Err);
Log(ErrTexts[Err]);
...



И три теста: DoSmth(1, 1), DoSmth(0, 1) и DoSmth(1, 0). Покрыты все ветки, но на DoSmth(0, 0) наступит бо-бо.

Кроме того, 100% покрытие не спасет от ситуаций, которые изначально не предусмотрены в коде
Код: pascal
1.
MsgBox(Arr[1]);


- в случае пустого Arr опять же бо-бо, а покрытие 100%.
...
Рейтинг: 0 / 0
Создание зависимостей на поля и таблицы входящие в execute statement
    #39011467
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Плохому учишь Для DoSmth(1,1)
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
procedure DoSmth(Param1, Param2: Byte);
var
  Err: Integer;
  ErrTexts: array[0..1] of string = ('No error', 'Parameter is zero');
...
Err := 0;
if Param1 = 0 then
  Inc(Err);                 // 1
if Param2 = 0 then
  Inc(Err);                 // 2
Log(ErrTexts[Err]);     // Exception:  INDEX OUT OF BOUNDS... 
...





уже бо-бо.....
...
Рейтинг: 0 / 0
25 сообщений из 101, страница 4 из 5
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создание зависимостей на поля и таблицы входящие в execute statement
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]