zoukankan      html  css  js  c++  java
  • 如何成为人尽皆知的C#开发人员

        这篇指导最终会教你如何成为你的同事中最受欢迎的人,您将成为他们在休息和工作时间的聊天的英雄,甚至可以说这篇指导能帮助减少你的工作,你能得到你的同事的慷慨帮助,他们想帮你做你的工作。因为你的名声!

    1、变量命名可以显示你创造潜力,不要使用标识法和准则来烦扰你自己,这些全都会限制你的灵感,如果您使用一个未知的命名方案,你会得到赞扬,您的同事会尊敬你。

    bool rAgeaggainStmaShine = false;
    int dd44 = 12;
    bool dude = true;

    2、成为天才,给方法和参数取一些耐人寻味的名字

    public int ViriableInflationModusOperandi(int variable, int inflator)
    {
        
    return variable * inflator;
    }

    3、用非常专业态度去注释你的代码。注释有助于正确的理解你的代码。

    // This variable is named after my mom. Wyburga-Thomasia Flandrina. Remember it!
    long wtf = 1;

    4、你的代码不要写太多的注释。过多的注释让你的同事感到紧张-因为你认为他们不明白?如果你让他们有机会思考,他们会尊重你。

    代码
    /// <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、使用封装。这是面向对象的关键原则之一。比较这两个例子:

    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;
    }

    很明显,Example #1看起来更加稳固。它有更多的代码,一切都被封装,并且代码看起来令人印象深刻。

    6、编写更少的代码。这将导致更少的错误,更少的支援的时间和更多的娱乐时间。考虑下面的结构:

    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();
    }

    你得到:注重AJAX化的页面,快速开发,多层体系结构。

    7、编写天才的代码。你的同事会感谢你的见解。

    编写:

    int year = 0x000007D9;

    而不是:

    int year = 2009;

    编写:

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

    而不是:

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

    编写:

    代码
    /// <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();
    }

    而不是:

    !value

         如果您按照这些简单的步骤去做,你的名字将很快被你的所有同事知道。你将是一个非常受欢迎的人-你的同事会向你提供建议,聊天和握手。其中一些同事可能会问你的秘密。如果发生这种情况,你可以给他们如下答复(要用导师的声音说):
    "Writing code is a transcendental process of transformation of infinite chaos into finite reality with coherence, of course"。

     参考原文:http://www.codeproject.com/KB/cs/Rumorous_Developer.aspx


  • 相关阅读:
    请教JDBC中的thin和OCI的区别
    ORACLE中查询被锁定的表,以及如何解锁
    oracle批量插入测试数据
    oracle查看用户表
    decode 函数及其用法
    oracle序列详解
    MySQL数据库远程连接开启方法
    CentOS下MySQL忘记root密码解决方法【转载】
    oracle实现同时多表插入
    MyCat:第七章:MyCAT的亿级别任务
  • 原文地址:https://www.cnblogs.com/zhuqil/p/Rumorous_Developer.html
Copyright © 2011-2022 走看看