package org.jquantlib.lang.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
/**
* This annotation is intended to add Quality Assurance information to types
*
* @author Richard Gomes
*/
@Target( { ElementType.TYPE })
public @interface QualityAssurance {
Version version();
Quality quality();
String[] reviewers();
//
// inner enums
//
public enum Version {
/**
* Not verified against any version
*/
NONE,
/**
* Not based on QuantLib
*/
OTHER,
/**
* QuantLib v0.8.1
*/
V081,
/**
* QuantLib v0.9.7
*/
V097
}
public enum Quality {
/**
* Translation not finished. Needs detailed code review.
*/
Q0_UNFINISHED,
/**
* Translation finished, no translation issues, not doubts, no pending items.
*/
Q1_TRANSLATION,
/**
* JQuantLib API resembles QuantLib API close enough, including operator overloading, if any
*/
Q2_RESEMBLANCE,
/**
* License, header comments, class comments, @Override, access modifiers,
*/
Q3_DOCUMENTATION,
/**
* Pass on Unit tests (JUnit4). Calculation accuracy inside tolerance.
*/
Q4_UNIT,
/**
* Pass on integration tests, such as sample code which exercises the functionality
*/
Q5_INTEGRATION,
/**
* Code ready to be released.
*/
Q6_RELEASED,
/**
* Pass code profiling
*/
Q7_PROFILE,
/**
* Performance tests are considered acceptable
*/
Q8_PERFORMANCE
}
}
Ads help maintain this website.