Главная страница
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.02 c
2-1205655917
NewSer
2008-03-16 11:25
2008.04.13
Как проверить уникальность вводимого в ключевое поле значения?


2-1205665714
Igor23
2008-03-16 14:08
2008.04.13
Дата


2-1205830626
031178
2008-03-18 11:57
2008.04.13
Запрос !!!


2-1206041013
tim
2008-03-20 22:23
2008.04.13
проблема со скачиванием страниц


15-1204489156
Bogdan1024
2008-03-02 23:19
2008.04.13
Программист - это научный работник?