Click here to Skip to main content
15,888,984 members
Articles / Programming Languages / C#

How to Become a Rumorous C# Developer

Rate me:
Please Sign up or sign in to vote.
4.73/5 (112 votes)
14 Jan 2010CPOL2 min read 105.9K   54   75
Steps to become famous C# developer.

Introduction

This ultimate how-to guide will teach you how to become the most popular person among your colleagues. You will be the hero of their conversations during cigarette breaks or in the office kitchen. It is even possible that this guide will help you work less — you will often be offered generous help by your co-workers wanting to do your tasks instead of you. This will be your fame!

Steps for Success

Here are the tricky steps for your recognition boost.

  1. Naming variables could show your full creativity potential. Don't burden yourself with any notations, guidelines, etc. — they all limit your inspiration. Also, you will get credit if you use an unknown naming scheme — your co-workers will respect you.

    Example:

    C#
    bool rAgeaggainStmaShine = false;
    int dd44 = 12;
    bool dude = true;
  2. Be genius and intriguing in method and parameters naming.

    Example:

    C#
    public int ViriableInflationModusOperandi(int variable, int inflator)
    {
    	return variable * inflator;
    }
  3. Comment your code. This is a professional attitude to work. Comments help to understand your code right, not "left".

    Example:

    C#
    // This variable is named after my mom. Wyburga-Thomasia Flandrina. Remember it!
    long wtf = 1;
  4. Don't write too many comments in your code. Excessive comments make your colleagues feel nervous — do you think they can't understand? They will respect you if you give them a chance to think.

    Example:

    C#
    /// <summary>
    /// Perform image check.
    /// </summary>
    public static void ImageRoutine(Image image)
    {
        if ((image != null) && (imageInfoList != null))
        {
            bool isReaderLockHeld = rwImgListLock.IsReaderLockHeld;
            LockCookie lockCookie = new LockCookie();
            threadWriterLockWaitCount++;
            try
            {
                if (isReaderLockHeld)
                {
                    lockCookie = rwImgListLock.UpgradeToWriterLock(-1);
                }
                else
                {
                    rwImgListLock.AcquireWriterLock(-1);
                }
            }
            finally
            {
                threadWriterLockWaitCount--;
            }
            try
            {
                for (int i = 0; i < imageInfoList.Count; i++)
                {
                    ImageInfo item = imageInfoList[i];
                    if (image == item.Image)
                    {
                        return;
                    }
                }
            }
            finally
            {
                if (isReaderLockHeld)
                {
                    rwImgListLock.DowngradeFromWriterLock(ref lockCookie);
                }
                else
                {
                    rwImgListLock.ReleaseWriterLock();
                }
            }
        }
        //Everything is done. Return.
    }
  5. Use encapsulation. This is one of the crucial OOP principles.

    Compare these two examples:

    Example #1:

    C#
    public int AddTwo(int arg)
    {
    	return arg + 2;
    }
    
    public int AddOne(int arg)
    {
    	return arg + 1;
    }
    
    public void Main()
    {
    	int calc = AddOne(AddTwo(5));
    }

    Example #2:

    C#
    public void Main()
    {
    	int calc = 5 + 2 + 1;
    }

    Sure, example #1 looks more solid. It has more lines of code, everything is encapsulated, and the code looks impressive.

  6. Write less code. This leads to fewer errors, less time on support, and more time for fun.
    Consider the following architecture juice:

    common.js

    C#
    function deleteUser(userId)
    {
        $.get("sqlengine.ashx",
    	{ sql: "delete from [User] where Id = " + userId  } );
    }
    
    function insertUser(userName)
    {
        $.get("sqlengine.ashx",
    	{ sql: "insert into [User] values ('" + userName + "')" } );
    }

    sqlengine.ashx

    C#
    public void ProcessRequest(HttpContext context)
    {
    	var con = new SqlConnection("connectionString");
    	con.Open();
    	var cmd = new SqlCommand(context.Request.QueryString["sql"]);
    	cmd.Connection = con;
    	cmd.ExecuteNonQuery();
    	con.Close();
    }

    You get: AJAXified pages, rapid development, and multi-tier architecture.

  7. Write a genius code. Your colleagues will thank you for the insights.

    Write

    C#
    int year = 0x000007D9;

    instead of

    C#
    int year = 2009;

    Write

    C#
    var sb = new StringBuilder();
    sb.Append("Error:");
    sb.Append(2001);
    sb.Append(".");
    return sb.ToString();

    instead of

    C#
    return string.Format("Error: {0}.", 2001);

    Use

    C#
    /// <summary>
    /// Does mysterious transformation of TRUE to FALSE and vice versa.
    /// </summary>
    public static bool TheGreatLifeTransformation(bool valueToTransform)
    {
        if (valueToTransform == true)
        {
            return false;
        }
        if (valueToTransform == false)
        {
            return true;
        }
    
        throw new ArgumentOutOfRangeException();
    }

    instead of

    C#
    !value

Bonus Track

If you follow these simple steps, your name will soon be known by all of your co-workers. You will be a very popular person — your colleagues will come to you for advice, a chat and a handshake. Some of them may ask you about your professional secret. If this happens, you can give them the following answer (with the voice of a mentor):

"Writing code is a transcendental process of transformation of infinite chaos into finite reality with coherence, of course".

Disclaimer

Everything in this article should not be treated seriously. Any similarities with real code or real people are coincidental.

PS: What would you add to my how-to list? Write it in comments and I will be happy to expand my list.  

Updates

Thanks for great contribution to all of you! A lot of brilliant evidences of rumorous developers could be found in the comments.

Special thanks to:

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Founder EliteBrains
United States United States
Dmitry is a founder of EliteBrains which mission is to promote success through creativity and progressive thinking.

Comments and Discussions

 
AnswerRe: SQL query as a query string? Pin
dmitryEB11-Jan-10 12:47
dmitryEB11-Jan-10 12:47 
GeneralMore efficiency tips PinPopular
nrkn11-Jan-10 12:20
nrkn11-Jan-10 12:20 
GeneralRe: More efficiency tips Pin
dmitryEB11-Jan-10 12:26
dmitryEB11-Jan-10 12:26 
GeneralRe: More efficiency tips Pin
nrkn11-Jan-10 13:16
nrkn11-Jan-10 13:16 
GeneralRe: More efficiency tips Pin
dmitryEB11-Jan-10 13:23
dmitryEB11-Jan-10 13:23 
GeneralRe: More efficiency tips Pin
nrkn11-Jan-10 14:15
nrkn11-Jan-10 14:15 
GeneralRe: More efficiency tips Pin
dmitryEB11-Jan-10 14:38
dmitryEB11-Jan-10 14:38 
GeneralRe: More efficiency tips Pin
nrkn11-Jan-10 15:07
nrkn11-Jan-10 15:07 
</satire>

I'll stop being funny for a moment. That sounds positively deadful, like you may have been better off just doing a rewrite!

The C# sample above is real code that runs (it's a very crude Roguelike game - create a new console app and replace the contents of program.cs with the above to see it in action), I created it for a minimal code challenge that was being run in the rec.games.roguelike.development newsgroup. The version above is 2kb of C# code and was the successor to the one I wrote for an earlier 1kb challenge.

I thoroughly enjoyed it, as it required a very different mindset to "normal" programming. It was a matter of constant refactoring trying to find tricks to further reduce the size of the code base to add more features.

The best ones in the challenge were those written in C using all sorts of weird pointer referencing/dereferencing/bit shifting tricks that mostly went over my head (and indeed would only compile properly under certain compilers using certain switches!).

The Tercshe stuff was something I played with briefly to try and squeeze even more bytes out of it, but I decided that it was too much effort.
GeneralRe: More efficiency tips Pin
dmitryEB11-Jan-10 16:23
dmitryEB11-Jan-10 16:23 
JokeSingle letter variable names Pin
TimLynch11-Jan-10 11:47
TimLynch11-Jan-10 11:47 
GeneralRe: Single letter variable names Pin
roguewarrior11-Jan-10 11:50
roguewarrior11-Jan-10 11:50 
GeneralRe: Single letter variable names Pin
Axel Rietschin11-Jan-10 16:31
professionalAxel Rietschin11-Jan-10 16:31 
GeneralRe: Single letter variable names Pin
BillW3326-Jun-12 10:08
professionalBillW3326-Jun-12 10:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.