Windows Tech Support

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 20 June 2013

Seven Warning Signs of Highly Dysfunctional Programming

Posted on 12:03 by Unknown
This is the long-promised "part 2" ("part deux" for you French folks)  mentioned in this previous article...

http://skatterbrainz.blogspot.com/2013/02/red-alerts-for-bad-programming-part-1.html?m=1

In any case, let's begin:

1. Inconsistent or missing code documentation. 

Document each distinct function or subroutine. Document your variables. Document any complicated sections of code as well. It's not just for someone else; it's to help you as well. A year later, after you've destroyed half of your already-dwindling feeble brain cells on red bull, liquor and meth, and assuming they let you out early on good behavior, you'll be glad you left some clues behind to explain your delusional code. 

2. Inconsistent formatting. 

If you're going to capitalize some particular word or phrase in your code, do it the same throughout ALL of your shitty code. The same goes for indentation. And for God's sake: indent your shitty code!!!  Between the start and end of each function definition, while-loop, if-then-else block, switch-case or select-case block, whatever: indent the crap in between!

If you can't be counted on to be consistent, you can't be counted on to write code that works consistently. 

3. Stupid Versioning. 

If you write code for Google, Microsoft, or Facebook, by all means, follow their internal guidelines. If you work for a start-up along with other developers, coordinate to develop a standard set of guidelines and follow them. 

If you write code for your own projects, try to avoid pretentious douchebaggery habits like setting version numbers as 0.0.01101.33b. Back away from your can of RockStar and come down to Earth a bit. There's nothing wrong or shameful about using version numbers like 1.0 or date-based versioning, like 2013.06.22.01. 

Using stupid long meaningless version numbers doesn't fool anyone into thinking you run your own coding empire with enslaved coders rowing a yacht in unison as you drone out coding orders over a megaphone. 

4. Picking the platform or language without regard to the target demographic. 

If the majority of users you expect to target your uberware at are running on Windows-based devices, then use a platform toolset that is native to that platform. Same goes for Linux, Android, iOS, and what have you.

Using some obscure, or favorite pet languages might be cute and clever, but unless you can prove there is a significant performance benefit, don't bother. If you're concerned about the costs of using those tools, maybe you chose the wrong target audience. 

5. Working in isolation. 

It doesn't matter if you've been writing software code since 1743, if that was even possible; every human can benefit from the advice and experiences of their peers. If you don't feel that your current environment provides any peers, then maybe it's time to consider one of two possible options:

(1) Seek additional staffing.
(2) Quit.

6. Ignoring Redundancy. 

Make backups every day. Make backups every day. Make backups every day. 
Make backups every day. Make backups every day. 

7. Assuming You Are a Namespace. 

Prefix your variables, function names, module names, etc. with a common and consistent naming convention. Preferably something unique and not likely to collide with namespaces on the target platform you are developing for. 

If you app runs on the Google Plus environment it might not be good to name all your public variables "gplus_" 
, or on Facebook to name them "fb_" or "facebook_" ..,whatever. If your app is called "Fubar Plus 2014", maybe a good namespace prefix could be "fubar_", "fubar_2014_", or even "my_shitty_code_".

If you haven't encountered namespace conflicts before, consider yourself either fortunate or be concerned about being the only developer on your target platform. 

8. (BONUS): Coding Without Caffeine. 

I will accept Adderol or some other dextroamphetamine-based stimulant as a suitable substitute. However proficient and productive you believe yourself to be at coding sans chemical stimulation, scientific studies have proven beyond all doubt that said chemical stimulation makes you even more proficient and productive. Even if you suck at coding, you will just suck faster. 

Disclaimer: I can't cite any specific scientific studies, nor am I a professional medical expert, however I have been known to play the role of an expert at social gatherings and on some Internet forums. Actual results may vary. Batteries not included. Add water to make its own sauce. Offer not valid in states where prohibited. 
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Voting Time: Help Me Out?
    I need to get a better view of how I should manage this blog if I'm going to keep at it. I'd like to know how you typically discover...
  • A World Without Competition
    Try to imagine what things would be like today had there not been fierce competition in certain key parts of our world.  I’ll give you some ...
  • Book Update
    I posted some gibberish a few weeks ago about another book project.  Well, I'm getting close to wrapping it up, so I thought I'd go ...
  • Cost
    Software technology, like any technology, provides a means to solving problems.  Some big. Some small.  Some that help.  Some that hurt.  An...
  • Windows 7: Default User vs All Users
    A lot of confusion seems to occur with understanding the difference between the "Default User" profile, and the "All Users...
  • Time to Give Props
    With the ever-expanding volume and breadth of information on the Internet today, it's easy to focus on my own thoughts, experiences, ide...
  • Table of Contents (Preliminary)
    Here's the preliminary Table of Contents for my new book "The AutoCAD Network Administrator's Bible - 2013 Edition".  I...
  • The Nicest IT and IT Vendor Folks I Know
    I've ranted many times before how it's unfair to "hate" an entire company, without providing a rationale for it based on s...
  • Windows 8
    Two small, yet irritating things, that I hope Windows 8 addresses with respect to Windows 7: Being able to put the Recycle Bin in the S...
  • Stupid Assumptions
    After years of watching sci-fi TV shows, movies, etc. it's finally come to a point where even the so-called brightest of our authors and...

Categories

  • a
  • activation
  • active directory
  • advertising
  • agile
  • agility
  • amazon
  • american
  • apple
  • application virtualization
  • applications
  • art
  • articles
  • asp
  • augi
  • authors
  • autocad
  • AutoCAD Autodesk
  • autodesk
  • autolisp
  • automation
  • automotive
  • backups
  • batch
  • beer
  • beta
  • blackberry
  • blogs
  • bongloads
  • book
  • books
  • Books writing kindle amazon technology business projects
  • browsers
  • business
  • cad
  • career
  • certification
  • chrome
  • city government
  • civilization
  • cloud services
  • cmd
  • cmmi
  • comedy
  • command
  • community
  • computers
  • conferences
  • config manager
  • consultants
  • consulting
  • contracting
  • cranium drainium
  • crapware
  • culture
  • data center
  • data mining
  • databases
  • deployment
  • directx
  • DLL
  • domains
  • dumb
  • earth
  • economy
  • editor
  • education
  • election
  • elections
  • employment
  • engineering
  • entertainment
  • environment
  • error monitoring
  • events
  • exchange
  • facebook
  • family
  • firefox
  • flexnet
  • fud
  • fun
  • funny
  • games
  • gary vaynerchuk
  • gmail
  • google
  • government
  • group policy
  • hampton roads
  • health
  • history
  • holidays
  • home
  • html5
  • humor
  • hyper-v
  • iis
  • industry
  • infrastructure
  • installation
  • installshield
  • internet
  • internet explorer
  • interviews
  • jobs
  • jtbworld
  • kindle
  • kixtart
  • lab setup
  • languages
  • ldap
  • learning
  • legal
  • licensing
  • life
  • lifecycle
  • linux
  • lisp
  • logging
  • management
  • manufacturing
  • marketing
  • markets
  • mdop
  • mdt
  • medical
  • messaging
  • microsoft
  • microsoft access
  • military
  • mountains
  • movies
  • mozilla
  • music
  • nature
  • network administration
  • news
  • nook
  • nothing
  • office
  • open source
  • openoffice
  • opera
  • operating systems
  • oracle
  • osx
  • packaging
  • patches
  • people
  • photos
  • podcasts
  • policy
  • politics
  • powershell
  • predictions
  • process automation
  • products
  • programming
  • projects
  • psychology
  • publishing
  • rail
  • reading
  • registry
  • religion
  • reporting
  • reviews
  • rsat
  • rss
  • safari
  • safety
  • sales
  • satire
  • sccm
  • scheduling
  • science
  • scripting
  • search
  • security
  • servers
  • services
  • sharepoint
  • shopping
  • sms
  • social stuff
  • society
  • softgrid
  • software assurance
  • software deployment
  • software development
  • software packaging
  • sony
  • speaking
  • sports
  • sql express
  • sql server
  • statistics
  • Statistics news marketing
  • steve jobs
  • stories
  • stuff
  • stupidity
  • symantec
  • sysinternals
  • system center
  • systems architecture
  • t-sql
  • taxes
  • technet
  • technical support
  • technology
  • TED
  • ted talks
  • testing
  • textpad
  • thoughts
  • traffic
  • training
  • transportation
  • travel
  • troubleshooting
  • tutorials
  • twitter
  • ubuntu
  • unattend
  • unemployment
  • updates
  • upfront ezine
  • utilities
  • vacation
  • vba
  • vbscript
  • video
  • virginia
  • virginia beach
  • virtualization
  • visual lisp
  • vmware
  • vmware server
  • voting
  • war
  • weather
  • web
  • web browsers
  • web development
  • web sites
  • windows
  • windows 7
  • windows live
  • windows server
  • windows server 2012
  • windows8
  • winpe
  • wise
  • wmi
  • work
  • writing
  • ws08
  • wsus
  • wwa
  • x64
  • xml
  • ze frank

Blog Archive

  • ▼  2013 (37)
    • ►  October (1)
    • ►  September (5)
    • ►  August (8)
    • ►  July (2)
    • ▼  June (4)
      • My Trip to West Virginia (Updated)
      • Seven Warning Signs of Highly Dysfunctional Progra...
      • Ten Lessons I Learned in my 20 Years in IT
      • So, You Want to Create a New Religion...
    • ►  May (4)
    • ►  April (2)
    • ►  March (2)
    • ►  February (8)
    • ►  January (1)
  • ►  2012 (120)
    • ►  December (14)
    • ►  November (12)
    • ►  October (10)
    • ►  September (7)
    • ►  August (3)
    • ►  July (2)
    • ►  June (6)
    • ►  May (6)
    • ►  April (20)
    • ►  March (16)
    • ►  February (18)
    • ►  January (6)
  • ►  2011 (343)
    • ►  December (15)
    • ►  November (23)
    • ►  October (27)
    • ►  September (35)
    • ►  August (29)
    • ►  July (17)
    • ►  June (23)
    • ►  May (20)
    • ►  April (38)
    • ►  March (61)
    • ►  February (54)
    • ►  January (1)
Powered by Blogger.

About Me

Unknown
View my complete profile