Click here to Skip to main content
15,868,141 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 103.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

 
GeneralNice :) Pin
JoseMenendez15-Jan-10 7:18
JoseMenendez15-Jan-10 7:18 
GeneralRe: Nice :) Pin
icymint323-Jan-10 18:16
icymint323-Jan-10 18:16 
GeneralYou've missed the most important point. Pin
Pete O'Hanlon12-Jan-10 11:09
subeditorPete O'Hanlon12-Jan-10 11:09 
GeneralLove it Pin
lepipele12-Jan-10 8:08
lepipele12-Jan-10 8:08 
GeneralSome more samples [modified] Pin
warny12-Jan-10 3:27
warny12-Jan-10 3:27 
QuestionWhat about static variables in a static class Pin
warny12-Jan-10 1:51
warny12-Jan-10 1:51 
Generaln1 Pin
MaasOne12-Jan-10 1:04
MaasOne12-Jan-10 1:04 
GeneralFew tips more... Pin
Jarek Kruza11-Jan-10 22:02
Jarek Kruza11-Jan-10 22:02 
Remember to keep your controls ordered!

This is really important. Using TextBox1 to TextBox765 as control names will help you keeping your code tidy.

Don't rely on you data sources!

It's much better to rely on control colors. Ex.:

if (TextBox42.Color==Color.PapayaWhip) DoSomething();


Keep Everything together!

Lot of small files does not look good. One .cs file with 17000+ lines and 650k is really impressive.

Do backups!

One connection string may get lost in your code. Put it at least in three places.

Remember about security!

Don't rely on external authentication! Only hard-coding AD logins will keep you safe!

Don't bloat your code!

Using UserControls only bloats your code. Put everything on one form and use .Visible and .BringToFront()!

This is proven to work.

Guy who did this left company a year ago and we are still talking about him with great excitement!!!
GeneralRe: Few tips more... Pin
dmitryEB12-Jan-10 0:45
dmitryEB12-Jan-10 0:45 
GeneralRe: Few tips more... Pin
Riaan Lehmkuhl16-Feb-10 20:59
professionalRiaan Lehmkuhl16-Feb-10 20:59 
Generalhaha great article! Pin
Druuler11-Jan-10 20:25
Druuler11-Jan-10 20:25 
GeneralHa Ha Pin
jsh_ec11-Jan-10 17:42
jsh_ec11-Jan-10 17:42 
GeneralTake it somewhere else Pin
PIEBALDconsult11-Jan-10 14:51
mvePIEBALDconsult11-Jan-10 14:51 
GeneralRe: Take it somewhere else Pin
dmitryEB11-Jan-10 15:58
dmitryEB11-Jan-10 15:58 
GeneralRe: Take it somewhere else Pin
User 5924111-Jan-10 16:28
User 5924111-Jan-10 16:28 
GeneralRe: Take it somewhere else Pin
bougiefever19-Jan-10 6:27
bougiefever19-Jan-10 6:27 
JokeUse code region Pin
Alessandro Bernardi11-Jan-10 13:45
Alessandro Bernardi11-Jan-10 13:45 
GeneralMy vote of 1 Pin
grey_hem200311-Jan-10 13:37
grey_hem200311-Jan-10 13:37 
GeneralI like it Pin
spoodygoon11-Jan-10 13:31
spoodygoon11-Jan-10 13:31 
GeneralEnjoyed it Pin
Rozis11-Jan-10 13:23
Rozis11-Jan-10 13:23 
GeneralRe: Enjoyed it Pin
dmitryEB11-Jan-10 13:47
dmitryEB11-Jan-10 13:47 
GeneralThis is brilliant!! [modified] Pin
Dan Mos11-Jan-10 13:12
Dan Mos11-Jan-10 13:12 
GeneralRe: This is brilliant!! Pin
dmitryEB11-Jan-10 13:25
dmitryEB11-Jan-10 13:25 
QuestionSQL query as a query string? Pin
Pratik.Patel11-Jan-10 12:43
Pratik.Patel11-Jan-10 12:43 
AnswerRe: SQL query as a query string? Pin
dmitryEB11-Jan-10 12:47
dmitryEB11-Jan-10 12:47 

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.