#47 closed task (released)
Remove magic numbers
Reported by: | ibboard | Owned by: | ibboard |
---|---|---|---|
Priority: | major | Milestone: | WarFoundry 0.1 |
Component: | General/Unknown | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
Some parts of WarFoundry have started to use "magic numbers" (numbers that have a special meaning but are just used inline). These should be replaced by named constants so that the meaning of the number is more obvious.
Change History (12)
comment:1 Changed 11 years ago by
comment:2 Changed 11 years ago by
comment:3 Changed 11 years ago by
Schemas changes seem to be having problems that don't give enough detail to be useful:
WARN [20:03:13]: LogNotifierHandler.Warn() - Line: 48 - WarFoundryLoader: XmlSchema error: The Attribute's default value is invalid with its type definition. System.Xml.Schema.XmlSchemaException: XmlSchema error: The Attribute's default value is invalid with its type definition. ---> System.FormatException: Invalid character at position 0 at System.Decimal.ThrowAtPos (Int32 pos) [0x00000] in /usr/src/packages/BUILD/mono-2.2/mcs/class/corlib/System/Decimal.cs:726 at System.Decimal.stripStyles (System.String s, NumberStyles style, System.Globalization.NumberFormatInfo nfi, System.Int32& decPos, System.Boolean& isNegative, System.Boolean& expFlag, System.Int32& exp, Boolean throwex) [0x00277] in /usr/src/packages/BUILD/mono-2.2/mcs/class/corlib/System/Decimal.cs:827 at System.Decimal.PerformParse (System.String s, NumberStyles style, IFormatProvider provider, System.Decimal& res, Boolean throwex) [0x00007] in /usr/src/packages/BUILD/mono-2.2/mcs/class/corlib/System/Decimal.cs:1036 at System.Decimal.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x0002d] in /usr/src/packages/BUILD/mono-2.2/mcs/class/corlib/System/Decimal.cs:1005 at System.Decimal.Parse (System.String s, IFormatProvider provider) [0x00000] in /usr/src/packages/BUILD/mono-2.2/mcs/class/corlib/System/Decimal.cs:721 at System.Xml.XmlConvert.ToDecimal (System.String s) [0x00000] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.XPath/Parser.cs:1 at Mono.Xml.Schema.XsdPositiveInteger.ParseValueType (System.String s, System.Xml.XmlNameTable nameTable, IXmlNamespaceResolver nsmgr) [0x00000] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.XPath/Parser.cs:1 at Mono.Xml.Schema.XsdPositiveInteger.ParseValue (System.String s, System.Xml.XmlNameTable nameTable, IXmlNamespaceResolver nsmgr) [0x00000] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/BuiltInDatatype.cs:1176 at System.Xml.Schema.XmlSchemaAttribute.Validate (System.Xml.Schema.ValidationEventHandler h, System.Xml.Schema.XmlSchema schema) [0x0026a] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchemaAttribute.cs:432 --- End of inner exception stack trace --- at System.Xml.Schema.ValidationHandler.RaiseValidationEvent (System.Xml.Schema.ValidationEventHandler handle, System.Exception innerException, System.String message, System.Xml.Schema.XmlSchemaObject xsobj, System.Object sender, System.String sourceUri, XmlSeverityType severity) [0x0003d] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/ValidationHandler.cs:56 at System.Xml.Schema.XmlSchemaObject.error (System.Xml.Schema.ValidationEventHandler handle, System.String message, System.Exception innerException, System.Xml.Schema.XmlSchemaObject xsobj, System.Object sender) [0x00000] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchemaObject.cs:140 at System.Xml.Schema.XmlSchemaObject.error (System.Xml.Schema.ValidationEventHandler handle, System.String message, System.Exception innerException) [0x00000] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.XPath/Parser.cs:1 at System.Xml.Schema.XmlSchemaAttribute.Validate (System.Xml.Schema.ValidationEventHandler h, System.Xml.Schema.XmlSchema schema) [0x0027e] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchemaAttribute.cs:434 at System.Xml.Schema.XmlSchemaUtil.ValidateAttributesResolved (System.Xml.Schema.XmlSchemaObjectTable attributesResolved, System.Xml.Schema.ValidationEventHandler h, System.Xml.Schema.XmlSchema schema, System.Xml.Schema.XmlSchemaObjectCollection attributes, System.Xml.Schema.XmlSchemaAnyAttribute anyAttribute, System.Xml.Schema.XmlSchemaAnyAttribute& anyAttributeUse, System.Xml.Schema.XmlSchemaAttributeGroup redefined, Boolean skipEquivalent) [0x00217] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchemaUtil.cs:552 at System.Xml.Schema.XmlSchemaComplexType.ValidateImmediateAttributes (System.Xml.Schema.ValidationEventHandler h, System.Xml.Schema.XmlSchema schema) [0x0000b] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchemaComplexType.cs:646 at System.Xml.Schema.XmlSchemaComplexType.Validate (System.Xml.Schema.ValidationEventHandler h, System.Xml.Schema.XmlSchema schema) [0x00054] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchemaComplexType.cs:601 at System.Xml.Schema.XmlSchemaElement.Validate (System.Xml.Schema.ValidationEventHandler h, System.Xml.Schema.XmlSchema schema) [0x000a1] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchemaElement.cs:661 at System.Xml.Schema.XmlSchemaSequence.Validate (System.Xml.Schema.ValidationEventHandler h, System.Xml.Schema.XmlSchema schema) [0x00040] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchemaSequence.cs:140 at System.Xml.Schema.XmlSchemaComplexType.ValidateContentFirstPass (System.Xml.Schema.ValidationEventHandler h, System.Xml.Schema.XmlSchema schema) [0x0005a] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchemaComplexType.cs:658 at System.Xml.Schema.XmlSchemaComplexType.Validate (System.Xml.Schema.ValidationEventHandler h, System.Xml.Schema.XmlSchema schema) [0x0002c] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchemaComplexType.cs:588 at System.Xml.Schema.XmlSchema.Validate (System.Xml.Schema.ValidationEventHandler handler) [0x0012d] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchema.cs:666 at System.Xml.Schema.XmlSchemaSet.Compile () [0x000a6] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchemaSet.cs:207 at System.Xml.Schema.XmlSchemaValidator.Initialize () [0x00022] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml.Schema/XmlSchemaValidator.cs:291 at Mono.Xml.Schema.XmlSchemaValidatingReader..ctor (System.Xml.XmlReader reader, System.Xml.XmlReaderSettings settings) [0x00169] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/Mono.Xml.Schema/XmlSchemaValidatingReader.cs:153 at System.Xml.XmlReader.CreateValidatingXmlReader (System.Xml.XmlReader reader, System.Xml.XmlReaderSettings settings) [0x00043] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml/XmlReader.cs:433 at System.Xml.XmlReader.CreateFilteredXmlReader (System.Xml.XmlReader reader, System.Xml.XmlReaderSettings settings) [0x00080] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml/XmlReader.cs:405 at System.Xml.XmlReader.CreateCustomizedTextReader (System.Xml.XmlTextReader reader, System.Xml.XmlReaderSettings settings) [0x0007f] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml/XmlReader.cs:386 at System.Xml.XmlReader.Create (System.IO.Stream stream, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext context) [0x0001b] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml/XmlReader.cs:341 at System.Xml.XmlReader.Create (System.IO.Stream stream, System.Xml.XmlReaderSettings settings, System.String baseUri) [0x00008] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml/XmlReader.cs:301 at System.Xml.XmlReader.Create (System.IO.Stream stream, System.Xml.XmlReaderSettings settings) [0x00000] in /usr/src/packages/BUILD/mono-2.2/mcs/class/System.XML/System.Xml/XmlReader.cs:282 at IBBoard.WarFoundry.API.Factories.Xml.WarFoundryXmlFactory.CreateXmlDocumentFromStream (System.IO.Stream stream) [0x00006] in /home/ibboard/eclipse/IBBoard.WarFoundry.API/api/Factories/Xml/WarFoundryXmlFactory.cs:296 at IBBoard.WarFoundry.API.Factories.Xml.WarFoundryXmlFactory.GetRootElementFromStream (System.IO.Stream stream, IBBoard.WarFoundry.API.Factories.Xml.WarFoundryXmlElementName elementName) [0x00000] in /home/ibboard/eclipse/IBBoard.WarFoundry.API/api/Factories/Xml/WarFoundryXmlFactory.cs:66
comment:4 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
(In r75) Fixes #47 - remove magic numbers
- Create "infinity" in core types
- Redefine special core types without trying to use non-existant INF for Integers
- Use new types in Cats and Race
- Remove special handling of INF when parsing an integer attribute
Closes #46 - Resolve problems using custom restrictions of decimal and double
- New schemas seem to work without exceptioning
comment:5 Changed 11 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Re-open to remove "magic numbers" in WinForms
comment:6 Changed 11 years ago by
Status: | reopened → accepted |
---|
comment:7 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Magic numbers all seem to be removed.
comment:8 Changed 11 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Re-open again because WinForms changes weren't actually committed.
comment:9 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:11 Changed 10 years ago by
released: | 1 → yes |
---|
Mark released fixes as released using radio values
comment:12 Changed 10 years ago by
Resolution: | fixed → released |
---|
Mark fix as released under a previous version
Note: See
TracTickets for help on using
tickets.
(In r73) Fixes #34 - Remove "Choices" and "Base/Increment" from Category
Re #47: Remove magic numbers