001 /* 002 * Sonar, open source software quality management tool. 003 * Copyright (C) 2008-2011 SonarSource 004 * mailto:contact AT sonarsource DOT com 005 * 006 * Sonar is free software; you can redistribute it and/or 007 * modify it under the terms of the GNU Lesser General Public 008 * License as published by the Free Software Foundation; either 009 * version 3 of the License, or (at your option) any later version. 010 * 011 * Sonar is distributed in the hope that it will be useful, 012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 014 * Lesser General Public License for more details. 015 * 016 * You should have received a copy of the GNU Lesser General Public 017 * License along with Sonar; if not, write to the Free Software 018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 019 */ 020 package org.sonar.api.rules; 021 022 import java.util.Arrays; 023 import java.util.Collections; 024 import java.util.List; 025 026 /** 027 * @deprecated since 2.5. See http://jira.codehaus.org/browse/SONAR-2007 028 */ 029 @Deprecated 030 public final class Iso9126RulesCategories { 031 private Iso9126RulesCategories() { 032 } 033 034 public static final RulesCategory RELIABILITY = new RulesCategory("Reliability", 035 "The extent to which the project can be expected to perform its intended function with rescission. Some examples : are loop indexes range tested? Is input data checked for range errors ? Is divide-by-zero avoided ? Is exception handling provided ?"); 036 public static final RulesCategory EFFICIENCY = new RulesCategory("Efficiency", 037 "The extent to which the project fulfills its purpose without waste of resources. This means resources in the sense of memory utilisation and processor speed."); 038 public static final RulesCategory PORTABILITY = new RulesCategory("Portability", 039 "The extent to which the project can be operated easily and well on multiple computer configurations. Portability can mean both between different hardware setups and between different operating systems -- such as running on both Mac OS X and GNU/Linux."); 040 public static final RulesCategory USABILITY = new RulesCategory("Usability", 041 "The extent to which the project can be understood, learned, operated, attractive and compliant with usability regulations and guidelines. It commonly relies on naming conventions and formatting rules."); 042 public static final RulesCategory MAINTAINABILITY = new RulesCategory("Maintainability", 043 "The extent to which the project facilitates updating to satisfy new requirements. Thus the the project which is maintainable should be not complex."); 044 045 public static final List<RulesCategory> ALL = Collections.unmodifiableList(Arrays.asList(RELIABILITY, EFFICIENCY, PORTABILITY, USABILITY, MAINTAINABILITY)); 046 }