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

Вниз

Программный анализатор   Найти похожие ветки 

 
Deled   (2008-03-19 14:43) [0]

Доброго времени суток всем! У меня такая проблема...мне достался курсач по интел.системам на тему "программный анализатор"..т.е.нужно написать прогу которая будет отличать программный текст друг от друга и говорить автора(заранее внесенного в б.д.) а если автора не оказалось,то надо добавить его в базу со своим листингом программы..вот..вопрос : какие критерии отличают авторство? На что мне смотреть в первую очередь. Спасибо


 
Johnmen ©   (2008-03-19 14:46) [1]


> какие критерии отличают авторство?

Почерк во всем своем многообразии. Ну если нет прямой подписи...


 
Deled   (2008-03-19 14:47) [2]

А может есть прототипы?..


 
ANB   (2008-03-19 14:47) [3]



CREATE OR REPLACE FUNCTION CheckExistObespCont(
 iCalcDate IN DATE,
 iContNum IN VARCHAR2,
 iGuarCode IN NUMBER)
 RETURN NUMBER IS
 tSum NUMBER;
BEGIN
 SELECT NVL(SUM(DECODE(TypeOper, 0, SumOper, -SumOper)), 0)
 INTO tSum
 FROM GuarCrOper
 WHERE TypeCont = 0 AND
       GuarNum IN (SELECT /*+ index_asc(GUARCRED GuarCred2)*/
                   OperNum
                   FROM GuarCred
                   WHERE TypeNum = 0 AND ContNum = iContNum AND GuarCode = iGuarCode AND Status > 0) AND
       DateOper <= iCalcDate;
 IF tSum > 0.005 THEN
   RETURN 0;
 END IF;
 SELECT /*+ index_asc(CrGuarOper CGuarOp1)*/
 NVL(SUM(DECODE(TypeOper, 0, SumOper, -SumOper)), 0)
 INTO tSum
 FROM CrGuarOper
 WHERE GuarNum IN (SELECT /*+ index_asc(CrGuarCont CGuarC2)*/
                   C.GuarNum
                   FROM CrGuarCont C
                   WHERE C.GuarCode = iGuarCode AND
                         EXISTS( SELECT /*+ index_asc(CrGuarDstr CGuarD1)*/
                                 CrNum
                                 FROM CrGuarDstr
                                 WHERE GuarNum = C.GuarNum AND
                                       DateGuar IN (SELECT /*+ INDEX_ASC(CrGuarDstr CGuarD1)*/
                                                    MAX(DateGuar)
                                                    FROM CrGuarDstr
                                                    WHERE GuarNum = C.GuarNum AND DateGuar <= iCalcDate) AND
                                       TypeNum = 1 AND CrNum = iContNum AND ShareGuar > 0.000005)) AND
       DateOper <= iCalcDate;
 IF tSum > 0.005 THEN
   RETURN 0;
 END IF;
 RETURN 1;
EXCEPTION
 WHEN OTHERS THEN
   --manager.putMessage("Ошибка выполнения CheckExistObespCont:"||SQLERRM);
   RETURN -1;
END CheckExistObespCont;
/


Определи, плз, автора по этому программному тексту. :)


 
Deled   (2008-03-19 14:50) [4]

Ну например синтаксис,верхнии нижний регистры, их процентое соотн. Я например всегда пиши в нижнем,меня легко найти.


 
Deled   (2008-03-19 14:53) [5]

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


 
Deled   (2008-03-19 14:53) [6]

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


 
Johnmen ©   (2008-03-19 14:53) [7]


> Определи, плз, автора по этому программному тексту. :)

Легко:
- выравнивание предикатов SELECT
- сдвиг на 2 позиции для "вложенных" выражений
- отделение коммента одним пробелом
- ...
следовательно - это ANB.
Вот в этом и суть.


 
Игорь Шевченко ©   (2008-03-19 14:53) [8]

Хороший курсач. Полезный.


 
ANB   (2008-03-19 15:00) [9]


> следовательно - это ANB.

Обломись. Это вообще другой отдел писал. Я даже не знаю - чего она делает. Просто одна из самых коротких хранимок.
Плюс я завсегда пишу в нижнем регистре и ставлю коммент в начале процедуры - что это я писал.

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


 
Johnmen ©   (2008-03-19 15:04) [10]


> Обломись. Это вообще другой отдел писал.

Значит ты не понял сути.



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

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

Наверх




Память: 0.49 MB
Время: 0.021 c
2-1205927037
asdf2
2008-03-19 14:43
2008.04.13
Как сделать MultiSelect в TCheckListBox?


2-1205596742
Roman_A
2008-03-15 18:59
2008.04.13
Что быстрее CopyFile? или через буфер?


15-1204272184
-=Le][=-
2008-02-29 11:03
2008.04.13
Blackfish SQL в Code Gear RAD Studio


15-1203955152
Ega23
2008-02-25 18:59
2008.04.13
Есть ли в PHP5 аналог forward?


2-1205902866
snake-as
2008-03-19 08:01
2008.04.13
Проблема с канвасом