Click here to Skip to main content
12,948,566 members (62,525 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as

Stats

67.5K views
54 bookmarked
Posted 11 Jan 2010

How to Become a Rumorous C# Developer

, 14 Jan 2010 CPOL
Rate this:
Please Sign up or sign in to vote.
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:

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

    Example:

    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:

    // 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:

    /// <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:

    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:

    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

    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

    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

    int year = 0x000007D9;

    instead of

    int year = 2009;

    Write

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

    instead of

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

    Use

    /// <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

    !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)

Share

About the Author

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

You may also be interested in...

Pro
Pro

Comments and Discussions

 
GeneralRe: My vote of 1 Pin
Dave Kreskowiak10-May-11 3:27
mvpDave Kreskowiak10-May-11 3:27 
General[My vote of 1] Wastage of time.... Vote of 1 Pin
MAP Tiger18-Jan-10 20:36
memberMAP Tiger18-Jan-10 20:36 
GeneralMy vote of 1 Pin
nodar18-Jan-10 18:21
membernodar18-Jan-10 18:21 
GeneralNice :) Pin
Jose M. Menendez Poó15-Jan-10 7:18
mvpJose M. Menendez Poó15-Jan-10 7:18 
GeneralRe: Nice :) Pin
icymint323-Jan-10 18:16
membericymint323-Jan-10 18:16 
GeneralYou've missed the most important point. Pin
Pete O'Hanlon12-Jan-10 11:09
mvpPete O'Hanlon12-Jan-10 11:09 
GeneralLove it Pin
Predrag Tomasevic12-Jan-10 8:08
memberPredrag Tomasevic12-Jan-10 8:08 
GeneralSome more samples [modified] Pin
warny12-Jan-10 3:27
memberwarny12-Jan-10 3:27 
I keep a trace of obviously great code to explain my co-worker how we are genius (i must admit i wrote some of these), here's some great samples :

In this sample the datareader field iddetail is an INT :
int idDetail = Convert.ToInt32(dr["iddetail"].ToString());


This one is obvious, why not returning acces > 0 when you can write more complex code :
int acces = (int)Data.Base.ExecuteScalar(sql.ToString());
return acces > 0 ? true : false;


We can do many times some heavy and useless conversion operations that could be replaced by a simple cast :
int note = 0;
if (Convert.ToInt32(rd["note"].ToString()) != 0) 
    note = Convert.ToInt32(rd["note"].ToString());
InsertValue(fieldNameTarget, fieldName, note);


We can also test a variable value and assign the tested value :
string nomLogo = ottGlobalSettings["logo"].ToString() != "" ? ottGlobalSettings["logo"].ToString() : "";


"if" blocs are great :
if (bool.Parse(ottGlobalSettings["closedRequest"])==true) {
	chkClosedRequest.Checked = true;
} else {
	chkClosedRequest.Checked = false;
}


we can write some unusefull code :
txtCustomer.Text = (string)Session["titleCustomer"];
txtCustomer.Text += " (" + (string)Session["userName"] + ")";
txtCustomer.Text = (string)Session["titleCustomer"];



Complex redundant code is wonderfull :
try {
    (...)
} catch (Exception ex) {
    try {
        re.Close();
    } catch { }
    try {
        wr.Close();
    } catch { }
    throw ex;
} finally {
    try {
        re.Close();
    } catch { }
    try {
        wr.Close();
    } catch { }
}


modified on Tuesday, January 12, 2010 12:50 PM

QuestionWhat about static variables in a static class Pin
warny12-Jan-10 1:51
memberwarny12-Jan-10 1:51 
Generaln1 Pin
MaasOne12-Jan-10 1:04
memberMaasOne12-Jan-10 1:04 
GeneralFew tips more... Pin
jkruza11-Jan-10 22:02
memberjkruza11-Jan-10 22:02 
GeneralRe: Few tips more... Pin
dmitryEB12-Jan-10 0:45
memberdmitryEB12-Jan-10 0:45 
GeneralRe: Few tips more... Pin
Riaan Lehmkuhl16-Feb-10 20:59
memberRiaan Lehmkuhl16-Feb-10 20:59 
Generalhaha great article! Pin
Druuler11-Jan-10 20:25
memberDruuler11-Jan-10 20:25 
GeneralHa Ha Pin
jsh_ec11-Jan-10 17:42
memberjsh_ec11-Jan-10 17:42 
GeneralTake it somewhere else Pin
PIEBALDconsult11-Jan-10 14:51
memberPIEBALDconsult11-Jan-10 14:51 
GeneralRe: Take it somewhere else Pin
dmitryEB11-Jan-10 15:58
memberdmitryEB11-Jan-10 15:58 
GeneralRe: Take it somewhere else Pin
pwasser11-Jan-10 16:28
memberpwasser11-Jan-10 16:28 
GeneralRe: Take it somewhere else Pin
Member 368477819-Jan-10 6:27
memberMember 368477819-Jan-10 6:27 
JokeUse code region Pin
Alessandro Bernardi11-Jan-10 13:45
memberAlessandro Bernardi11-Jan-10 13:45 
GeneralMy vote of 1 Pin
grey_hem200311-Jan-10 13:37
membergrey_hem200311-Jan-10 13:37 
GeneralI like it Pin
spoodygoon11-Jan-10 13:31
memberspoodygoon11-Jan-10 13:31 
GeneralEnjoyed it Pin
Rozis11-Jan-10 13:23
memberRozis11-Jan-10 13:23 
GeneralRe: Enjoyed it Pin
dmitryEB11-Jan-10 13:47
memberdmitryEB11-Jan-10 13:47 
GeneralThis is brilliant!! [modified] Pin
Mos Dan - Lucian11-Jan-10 13:12
memberMos Dan - Lucian11-Jan-10 13:12 

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.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.170524.1 | Last Updated 14 Jan 2010
Article Copyright 2010 by dmitryEB
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid