代码改变世界

工作的定义以及软件开发工作定义

2012-04-26 18:20  sahit  阅读(428)  评论(0)    收藏  举报

直接上代码:

工作定义基类:

public class Job
{
    #region 基础得分项,共计100分

    //薪水得分(0~30)
    protected float Salary;
    //福利得分(0~5)
    protected float Wage;
    //发展前景/空间得分(0~15)
    protected float FurtureProspects;
    //同事间人际关系得分(0~5)
    protected float Interpersonal;
    //公司文化得分(0~5)
    protected float Culture;
    //工作环境/氛围(0~5)
    protected float WorkingAtmosphere;
    //能力发挥/提高分数(0~10)
    protected float AbilityImprovement;
    //此工作之余额外分数,如能有时间学习,陪伴家人,下班有好心情(0~10)
    protected float AfterWork;
    //能促进进步/晋升机制得分(0~10)
    protected float EncourageAndPromotion;
    //其余得分,如老板人品如何,有没有漂亮女同事,英语提升等(0~5)
    protected float RestScore;

    #endregion
    //是否经常加班/出差
    protected bool OvertimeAlways;
    //是否能胜任
    protected bool Capable;
    //是否觉得自己在混日子
    protected bool IsDawdle;
    //是否是百万富翁/富二代
    protected bool IsMillionaire;


    //总得分
    protected virtual float CalculateScore()
    {
        if (IsMillionaire)
        {
            return 100;
        }

        float score = Salary + Wage + FurtureProspects + Interpersonal + Culture + WorkingAtmosphere + AbilityImprovement + AfterWork + EncourageAndPromotion + RestScore;
            
        if (OvertimeAlways)
        {
            score = score * (float)0.8;
        }

        if (!Capable)
        {
            score = score * (float)0.7;
        }

        if (IsDawdle)
        {
            return score = score * (float)0.7;
        }

        return score;
    }
}

 

软件开发工作定义类:

public class SoftwareDevelopmentJob:Job
{
    //是否是有发展,有活力的技术
    protected bool IsVitalityTechnology;
    //是否是外包
    protected bool IsOutsourcing;
    //身边是否有技术牛人
    protected bool HasStrongerPartners;
    //是否是有前途的创业公司的工作
    protected bool IsPioneeringJob;
    //自己是否热爱软件开发行业
    protected bool DeepLoveForDevelopment;

    protected override float CalculateScore()
    {
        float score = base.CalculateScore();

        if (IsVitalityTechnology)
        {
            score = score * (float)1.1;
        }

        if (IsOutsourcing)
        {
                score = score * (float)0.6;
        }

        if (HasStrongerPartners)
        {
            score = score * (float)1.1;
        }

        if (IsPioneeringJob)
        {
            score = score * (float)1.2;
        }

        if (DeepLoveForDevelopment)
        {
            score = score * (float)1.1;
        }
        else
        {
            score = score * (float)0.5;
        }

        return score;
    }
}

 

工作不仅可以让你生存或生活得更好,同时还能使你实现人生价值,实现社会价值。

每个软件开发工程师都是工人,对待工作的态度不尽相同,但无论如何,都希望我们能对自己的工作有一个明确的定义,这样能够让我们认真对待自己拥有的工作,并慎重选择其它工作的机会,同时尊重每一个平淡无光却无法取代的工作。

当然,工作可以定义价值和分数,生命却不分高低,工作也无法完全决定你的生命。

这一切都要取决于你自己。