Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.12.05;
Скачать: CL | DM;

Вниз

Давать ли свободу скриптерам?   Найти похожие ветки 

 
@!!ex ©   (2010-08-30 18:20) [0]

Делаем довольно большой проект.
Он настолько большой, что логика разделена на две части:
1) ядро, написанное на дельфи(программисты)
2) внешняя логика написанная на Lua(скриптеры)

собственно есть вде независимых команды.
одна занимается разработкой ядра, вторая - прорабатвает логику.

Собственно я занимаюсь ядром.
У нас много ограничений стоит, чисто для того, чтобы скриптеры не накосячили.
То есть ограничение !никак! не оправданное с технической точки зрения, но добавленное, чтобы не создавались лишние проблемы. Защита от дурака.

Последнее время скриптеры все чаще орут, что им эта защита мешает.
Например, сегодня захотели чтобы я убрал сообщение об обращении к неверному элементу массива при работе с одним из внутренних массивов. Дескать у них логика так построена, что в штатном поведении может возникать обращение к таким массивам.

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


 
George ©   (2010-08-30 18:43) [1]

Мне кажется посылать надо. Вы же специалисты, а не эникейщики. Если считаете, что повлечет проблемы в будущем - не беритесь за это. Не нравится - пусть наймут эникейщиков.


 
Rouse_ ©   (2010-08-30 18:43) [2]

как постулат: с точки зрения ядра - весь код реализованный прикладным программистом неверен и имеет целью нарушить работу ядра.

ну а практически - убирай сообщение - генерируй им исключение, и пусть с ним и работает (если там есть возможности работать с исключениями)


 
Kerk ©   (2010-08-30 19:43) [3]

Можно пойти на компромисс. Сделать как в PHP, например. В случае некритичных проблем показывать варнинги, отображение которых можно отключить. Понадобится отладка - включат обратно и посмотрят.


 
TUser ©   (2010-08-30 20:42) [4]


> сегодня захотели чтобы я убрал сообщение об обращении к
> неверному элементу массива при работе с одним из внутренних
> массивов. Дескать у них логика так построена, что в штатном
> поведении может возникать обращение к таким массивам.

Какая-то нелогичная логика, имхо. А поэтому - не давать.


 
cwl ©   (2010-08-30 22:53) [5]

> Например, сегодня захотели чтобы я убрал сообщение об обращении
> к неверному элементу массива при работе с одним из внутренних
> массивов. Дескать у них логика так построена, что в штатном
> поведении может возникать обращение к таким массивам.

или пусть пишут правильно и аккуратно, или, как сказано выше, - выдавай warning или exception. правда, второй вариант может со временем привести к игнорированию предупреждений и исключений - щто может сыграть в будущем злую шутку


 
Кто б сомневался ©   (2010-08-30 23:22) [6]


> @!!ex ©   (30.08.10 18:20)


Может лучше поговорить с теми кто пишут скрипт, а не с нами?


 
Sha ©   (2010-08-30 23:24) [7]

Нормальная проблема. Часто бывает надо позиционироваться
относительно текущего элемента массива,
например, если адрес текущего элемента лежит в PIntegerArray,
то получается, нужен индекс -1.
Поэтому если возможность обращения имеется,
такие предупреждения мешают.
Вот когда реально промахнутся, тогда их и надо обламывать.


 
Дмитрий Тимохов   (2010-08-30 23:45) [8]

имхо должен начальник проекта решать.
я к тому, что надо взвесить все за и против для каждлой из групп программистов.

как программист ядра - я за то, чтобы скриптеры не баловали ))


 
Anatoly Podgoretsky ©   (2010-08-31 09:32) [9]

> @!!ex  (30.08.2010 18:20:00)  [0]

Одевай броне трусы и отбивайсяю


 
Anatoly Podgoretsky ©   (2010-08-31 09:33) [10]

> Kerk  (30.08.2010 19:43:03)  [3]

Отключат и некритическая ошибка стремится стать критичной.


 
@!!ex ©   (2010-08-31 14:07) [11]

Ай лол ваще... выяснилось что ошибка вываливается в другой функции из-за того, что они накосячили в скрипте и сделали не верную проверку...


 
Anatoly Podgoretsky ©   (2010-08-31 14:45) [12]

> @!!ex  (31.08.2010 14:07:11)  [11]

А ты еще хочешь предоставить свободу попугаям.


 
KSergey ©   (2010-08-31 14:59) [13]

А как можно реализовать такое желание? мне не понятно.
Вот хочу я узнать значение сотого элемента массива, а в массиве всего пять элементов. Что должно вернуть мне ядро при обращении к сотому элементу? Восемь?


 
KSergey ©   (2010-08-31 15:05) [14]

> Sha ©   (30.08.10 23:24) [7]
> Нормальная проблема. Часто бывает надо позиционироваться
> относительно текущего элемента массива,
> например, если адрес текущего элемента лежит в PIntegerArray,

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

И потом, "предыдущая ячейка относительно значения в PIntegerArray" - это именно предыдущая ячейка, а никак не "ячейка памяти по адресу минус один".


 
Palladin ©   (2010-08-31 15:07) [15]


> @!!ex ©   (31.08.10 14:07) [11]

привыкай...


 
Palladin ©   (2010-08-31 15:08) [16]

они еще и не то могут...


 
Palladin ©   (2010-08-31 15:11) [17]

Вот например как мои прикладники считали две суммы и их общую

var
 sum1, sum2: Integer;
 allSum: Integer;
 i: Integer;

...
for i := 0 to items.count - 1 do
begin
 sum1 := sum1 + items[i].value1;
 sum2 := sum2 + items[i].value2;
 allSum := allSum + sum1 + sum2;
endl
...


потом меня попросили разобратся почему "движок не правильно считает"


 
@!!ex ©   (2010-08-31 15:17) [18]

> [13] KSergey ©   (31.08.10 14:59)

nil



Страницы: 1 вся ветка

Текущий архив: 2010.12.05;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.008 c
15-1282908527
dr_creigan
2010-08-27 15:28
2010.12.05
Bluetooth в Ubuntu 10.04


2-1284444311
ZV
2010-09-14 10:05
2010.12.05
Цикл For To Do


15-1282654644
Baks
2010-08-24 16:57
2010.12.05
Как можно передать параметр-строку на кириллице в PHP скрипт?


2-1284454081
TThread
2010-09-14 12:48
2010.12.05
Доступ к данным на чтение из разных потоков


15-1283074778
Кто б сомневался
2010-08-29 13:39
2010.12.05
Bad кластера