Posted by Albert Gareev on Sep 23, 2010
To be master of any branch of knowledge, you must master those which lie next to it; and thus to know anything you must know all. Oliver Wendell Holmes, Jr. I have not failed. I’ve just found 10,000 ways that won’t work. Thomas Edison Training and coaching is often a part of my job in automation. [...] ...
Posted by Albert Gareev on Jul 05, 2010
“Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation (called a ‘refactoring’) does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it’s less [...] ...
Posted by Albert Gareev on Jun 24, 2010
“Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation (called a ‘refactoring’) does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it’s less [...] ...
Posted by Albert Gareev on Jun 15, 2010
“Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation (called a ‘refactoring’) does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it’s less [...] ...
Posted by Albert Gareev on Jun 08, 2010
“Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation (called a ‘refactoring’) does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it’s less likely [...] ...
Posted by Albert Gareev on Apr 06, 2010
Peeling an Onion Code In my previous post I presented code structure looking like layers of an onion. In this post I’m exploring ways to transform it to structures that have much less drawback while performing same (or richer) functionalities. Let’s begin from the very first issue: readability of an Onion Code. Generally speaking, test steps are [...] ...
Posted by Albert Gareev on Mar 30, 2010
Studying programming through record/playback sometimes results in a really weird code. What is wrong with Matryoshka Programming? ...
Posted by Albert Gareev on Nov 16, 2008
Continuing previous post, I explore Object-Oriented Programming with VBScript. Now I want to take a closer look at inheritance and practice its workaround, called delegation. Delegator Class example Class ScreenPoint '' Properties 'Ancestor Point2D Private P2D 'Point color Private Color '---------------------- '' Methods 'Constructor - [...] ...
Posted by Albert Gareev on Nov 15, 2008
As I recently wrote, VBScript supports Object-Oriented Programming. However, we have to get used to certain limitations. Let’s start with an example of a corner stone principle – encapsulation. Class declaration example Class Point2D '' Properties Private p_X Private p_Y '---------------------- '' Methods 'Constructor - called automatically [...] ...
Posted by Albert Gareev on Jul 12, 2007
Variables and Namespace I’ve recently had a noticeable conversation explaining a junior colleague of mine about local variables in hierarchy of calls, namespace and scope, and how this concept aligns with Object-Oriented Programming, dynamically created / released object instances, in particular. Below is the scheme I ended with. Lifespan of objects If lifespan of a variable is defined by [...] ...
Posted by Albert Gareev on Jan 22, 2007
…On hard-coding of test data, continued Parameterization is a structured programming approach Starting with example. Public Function SumAB() SumAB = 2 + 3 End Function Such a function is useless when you need to sum numbers different than 2 and 3. Now let’s apply mapping. Const A = 2 Const B = 3 ... Public [...] ...
Posted by Albert Gareev on Jan 20, 2007
Hard-coding – storing data within the code A printed document is called “hard copy”, while its electronic version is “soft”. We can easily apply a change on a soft copy. And yet the code, compiled and assembled into an application, while stored electronically, is a “hard” copy too. Applying changes to it is almost an [...] ...