devxlogo

Avoid Redundant Execution of Code

Avoid Redundant Execution of Code

Most collections are zero-based. The COUNT property returns thenumber of members of a collection, as opposed to the highest membernumber. So when we see code that loops through all the membersof a collection, it usually looks something like this:

 Dim I%        For I% = 0 To Controls.Count - 1                Controls(I%).Enabled = True        Next

If your application does not mind stepping through the collectionin reverse order, this code can be more efficient by eliminatingthe need to read the collection’s COUNT property and deducting1 for each iteration of the loop:

 Dim I%        I% = Controls.Count        While I%                I% = I% - 1                Controls(I%).Enabled = True        Wend

I recommend the next technique for similar situations to avoidredundant execution of code. For example, to count the numberof spaces in a string, we could write:

         Dim I%, C%        C% = 0        For I% = 1 To Len(SomeString$)                If Asc(Mid$(SomeString$, I%)) _                        = 32 Then C% = C% + 1        Next

which calls the Len() function for every iteration of the loop.Or, you could do it this way:

         Dim I%, C%        C% = 0        I% = Len(SomeString$)        While I%                If Asc(Mid$(SomeString$, I%)) = _                        32 Then C% = C% + 1                I% = I% - 1        Wend
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist