From 39dc69d7b13289bf81082c9ebd477a806e00cde7 Mon Sep 17 00:00:00 2001 From: Lukasz Baldyga Date: Thu, 3 Dec 2020 23:24:44 +0000 Subject: [PATCH] Code cleanup --- .../Advanced Software Engineering/App.config | 4 ++-- .../Advanced Software Engineering/Drawer.cs | 8 +++----- .../Verbs/DrawingVerbs/Actions/NoOp.cs | 7 ++++--- .../Verbs/Flow/DeclareMethod.cs | 19 ++++++------------- .../Verbs/Flow/IVerbChunk.cs | 10 +++------- .../Verbs/Flow/IfChunk.cs | 9 ++++----- .../Verbs/Flow/MethodChunk.cs | 16 +++++++--------- .../Verbs/Flow/WhileChunk.cs | 9 ++++----- .../Verbs/Value/ValueStorage.cs | 8 ++++---- .../Verbs/Value/ValueTypes/ExpressionValue.cs | 2 +- .../Verbs/VerbFactory.cs | 17 ++++++----------- 11 files changed, 44 insertions(+), 65 deletions(-) diff --git a/Advanced Software Engineering/Advanced Software Engineering/App.config b/Advanced Software Engineering/Advanced Software Engineering/App.config index a86c646..d8ef5cf 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/App.config +++ b/Advanced Software Engineering/Advanced Software Engineering/App.config @@ -1,6 +1,6 @@ - + - + \ No newline at end of file diff --git a/Advanced Software Engineering/Advanced Software Engineering/Drawer.cs b/Advanced Software Engineering/Advanced Software Engineering/Drawer.cs index 5aa219c..4986eaa 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Drawer.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Drawer.cs @@ -12,8 +12,7 @@ namespace Advanced_Software_Engineering { /// The drawer is responsible for drawing on the graphics object. /// public class Drawer { - - private ValueStorage valueStorage = new ValueStorage(); + private readonly ValueStorage valueStorage = new ValueStorage(); public List verbChunks = new List(); public bool verbChunkGeneratingMethod = false; public Dictionary Methods = new Dictionary(); @@ -153,8 +152,8 @@ namespace Advanced_Software_Engineering { } //Make it relative to the pen - for (int pointIndex = 0; pointIndex < points.Length; pointIndex++) - points[pointIndex] = new Point(points[pointIndex].X + penPosition.X, points[pointIndex].Y+ penPosition.Y); + for (int pointIndex = 0; pointIndex < points.Length; pointIndex++) + points[pointIndex] = new Point(points[pointIndex].X + penPosition.X, points[pointIndex].Y + penPosition.Y); GraphicsPath path = new GraphicsPath { FillMode = FillMode.Winding @@ -202,6 +201,5 @@ namespace Advanced_Software_Engineering { public ValueStorage GetValueStorage() { return valueStorage; } - } } \ No newline at end of file diff --git a/Advanced Software Engineering/Advanced Software Engineering/Verbs/DrawingVerbs/Actions/NoOp.cs b/Advanced Software Engineering/Advanced Software Engineering/Verbs/DrawingVerbs/Actions/NoOp.cs index 6dae247..a90dd71 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Verbs/DrawingVerbs/Actions/NoOp.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Verbs/DrawingVerbs/Actions/NoOp.cs @@ -1,11 +1,12 @@ namespace Advanced_Software_Engineering.Verbs.DrawingVerbs.Actions { - class NoOp : IVerb { - public void ExecuteVerb() { + internal class NoOp : IVerb { + + public void ExecuteVerb() { } public string GetDescription() { return "NoOp"; } } -} +} \ No newline at end of file diff --git a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/DeclareMethod.cs b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/DeclareMethod.cs index f70c6c7..f299eae 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/DeclareMethod.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/DeclareMethod.cs @@ -1,15 +1,8 @@ -using Advanced_Software_Engineering.Verbs.Value; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Advanced_Software_Engineering.Verbs.Flow { - class DeclareMethod : IVerb, IVerbChunk { - string methodName; - Drawer drawer; +namespace Advanced_Software_Engineering.Verbs.Flow { + internal class DeclareMethod : IVerb, IVerbChunk { + private readonly string methodName; + private readonly Drawer drawer; public DeclareMethod(Drawer drawer, string methodName) { this.drawer = drawer; @@ -19,7 +12,7 @@ namespace Advanced_Software_Engineering.Verbs.Flow { public void AddVerb(IVerb verb) { MethodChunk methodChunk = drawer.Methods[methodName]; methodChunk.AddVerb(verb); - } + } public void ExecuteVerb() { //Declaration of method happens at parse time @@ -29,4 +22,4 @@ namespace Advanced_Software_Engineering.Verbs.Flow { return "Declares a method"; } } -} +} \ No newline at end of file diff --git a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/IVerbChunk.cs b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/IVerbChunk.cs index 5991325..9a655c4 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/IVerbChunk.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/IVerbChunk.cs @@ -1,15 +1,11 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +namespace Advanced_Software_Engineering.Verbs.Flow { -namespace Advanced_Software_Engineering.Verbs.Flow { public interface IVerbChunk : IVerb { + void AddVerb(IVerb verb); void ExecuteVerb(); string GetDescription(); } -} +} \ No newline at end of file diff --git a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/IfChunk.cs b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/IfChunk.cs index b616872..3fae85f 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/IfChunk.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/IfChunk.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; namespace Advanced_Software_Engineering.Verbs.Flow { - public class IfChunk : VerbChunk, IVerbChunk, IVerb { - IValue conditional; - ValueStorage valueStorage; + public class IfChunk : VerbChunk, IVerbChunk, IVerb { + private readonly IValue conditional; + private readonly ValueStorage valueStorage; public IfChunk(ValueStorage valueStorage, IValue conditional) : base() { this.conditional = conditional; @@ -24,6 +24,5 @@ namespace Advanced_Software_Engineering.Verbs.Flow { if (conditional.ToBool()) base.ExecuteVerb(); valueStorage.DecreaseStack(); } - } -} +} \ No newline at end of file diff --git a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/MethodChunk.cs b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/MethodChunk.cs index 2dfacdd..5cf8afe 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/MethodChunk.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/MethodChunk.cs @@ -1,16 +1,15 @@ using Advanced_Software_Engineering.Verbs.Value; -using Advanced_Software_Engineering.Verbs.Value.ValueTypes; using System.Collections.Generic; using System.Drawing; namespace Advanced_Software_Engineering.Verbs.Flow { - public class MethodChunk : VerbChunk, IVerb, IValue { - ValueStorage valueStorage; - DeclareVariable[] variables; - UpdateVariable[] updateVariables; - bool init = false; - IValue result; + public class MethodChunk : VerbChunk, IVerb, IValue { + private readonly ValueStorage valueStorage; + private readonly DeclareVariable[] variables; + private UpdateVariable[] updateVariables; + private bool init = false; + private IValue result; public MethodChunk(ValueStorage valueStorage, DeclareVariable[] variables) : base() { this.valueStorage = valueStorage; @@ -59,7 +58,6 @@ namespace Advanced_Software_Engineering.Verbs.Flow { init = true; } valueStorage.DecreaseStack(); - } public IValue GetResult() { @@ -94,4 +92,4 @@ namespace Advanced_Software_Engineering.Verbs.Flow { return GetResult().ToInt(); } } -} +} \ No newline at end of file diff --git a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/WhileChunk.cs b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/WhileChunk.cs index 117ce42..978e7e5 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/WhileChunk.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Flow/WhileChunk.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; namespace Advanced_Software_Engineering.Verbs.Flow { - public class WhileChunk : VerbChunk, IVerbChunk, IVerb { - IValue conditional; - ValueStorage valueStorage; + public class WhileChunk : VerbChunk, IVerbChunk, IVerb { + private readonly IValue conditional; + private readonly ValueStorage valueStorage; public WhileChunk(ValueStorage valueStorage, IValue conditional) : base() { this.conditional = conditional; @@ -24,6 +24,5 @@ namespace Advanced_Software_Engineering.Verbs.Flow { while (conditional.ToBool()) base.ExecuteVerb(); valueStorage.DecreaseStack(); } - } -} +} \ No newline at end of file diff --git a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/ValueStorage.cs b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/ValueStorage.cs index 1abf4c4..82c109b 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/ValueStorage.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/ValueStorage.cs @@ -2,8 +2,8 @@ using System.Collections.Generic; namespace Advanced_Software_Engineering.Verbs.Value { - public class ValueStorage { + public class ValueStorage { protected int currentStack; protected List> Variables = new List>(); @@ -21,9 +21,9 @@ namespace Advanced_Software_Engineering.Verbs.Value { if (stack < 0) throw new Exception("Stack cannot be less than 0"); //Decreased Stack - if(currentStack > stack) { + if (currentStack > stack) { Variables.RemoveAt(currentStack); - } + } //Increased Stack else if (currentStack < stack) { Variables.Add(new Dictionary()); @@ -80,4 +80,4 @@ namespace Advanced_Software_Engineering.Verbs.Value { return false; } } -} +} \ No newline at end of file diff --git a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/ValueTypes/ExpressionValue.cs b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/ValueTypes/ExpressionValue.cs index bbf2b12..24d42e7 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/ValueTypes/ExpressionValue.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/ValueTypes/ExpressionValue.cs @@ -13,7 +13,7 @@ namespace Advanced_Software_Engineering.Verbs.Value { private readonly IValue variable2; private readonly int operation; - private bool evaluated = false; + private readonly bool evaluated = false; private IValue evaluatedValue; public ExpressionValue(IValue variable1, IValue variable2, int operation) { diff --git a/Advanced Software Engineering/Advanced Software Engineering/Verbs/VerbFactory.cs b/Advanced Software Engineering/Advanced Software Engineering/Verbs/VerbFactory.cs index c1ea690..d8d200f 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Verbs/VerbFactory.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Verbs/VerbFactory.cs @@ -26,7 +26,6 @@ namespace Advanced_Software_Engineering { public static IVerb MakeVerb(Drawer drawer, string fullCommand) { ValueStorage rootValueStorage = drawer.GetValueStorage(); - List verbChunks = drawer.verbChunks; if (verbChunks.Count == 0) verbChunks.Add(null); @@ -78,7 +77,6 @@ namespace Advanced_Software_Engineering { } } - //Parse flow verbs switch (command) { case "if": @@ -91,7 +89,7 @@ namespace Advanced_Software_Engineering { } else if (commandParameters.Length >= 2) { //single line if string commandAfterIf = fullCommand.Substring(fullCommand.IndexOf(",") + 1); // find the first , IValue conditional = ValueFactory.CreateValue(rootValueStorage, commandParameters[0]); //make the conditional - IVerb AfterIf = MakeVerb(drawer, commandAfterIf); //make the following command + IVerb AfterIf = MakeVerb(drawer, commandAfterIf); //make the following command tmpVerb = new IfChunk(rootValueStorage, conditional, AfterIf); //Create the chunk parsed = true; } else throw new Exception(command + " has an incorrect number of parameters"); @@ -107,7 +105,7 @@ namespace Advanced_Software_Engineering { } else if (commandParameters.Length >= 2) { //single line if string commandAfterIf = fullCommand.Substring(fullCommand.IndexOf(",") + 1); // find the first , IValue conditional = ValueFactory.CreateValue(rootValueStorage, commandParameters[0]); //make the conditional - IVerb AfterIf = MakeVerb(drawer, commandAfterIf); //make the following command + IVerb AfterIf = MakeVerb(drawer, commandAfterIf); //make the following command tmpVerb = new WhileChunk(rootValueStorage, conditional, AfterIf); //Create the chunk parsed = true; } else throw new Exception(command + " has an incorrect number of parameters"); @@ -162,22 +160,20 @@ namespace Advanced_Software_Engineering { //Handle errors if (methodVariableNames.Length != parameterLength) throw new Exception("Method " + command + "Has an incorrect number of parameters"); - /* So something like this: * def abc d * circle d - * + * * abc 5 - * + * * would have to be translated into something like this * @increase stack * var d = 5 (of course in a higher stack) - * + * * @run abc (abc doesn't increase it's own stack) - * + * */ - // Update the values of the variables List UpdateVariableList = new List(); for (int variableIndex = 0; variableIndex < methodVariableNames.Length; variableIndex++) { @@ -338,7 +334,6 @@ namespace Advanced_Software_Engineering { tmpVerb = currentChunk; currentChunk = verbChunks[chunkDepth]; rootValueStorage.DecreaseStack(); - } else throw new Exception(command + " doesn't take parameters"); break;