zoukankan      html  css  js  c++  java
  • [转载]TopCoder兼职赚钱入门(Part. 1)

      最近找我问TC的朋友越来越多,于是就想写一个入门教程放在这里。对我来说,TC目前是总收入的一个重要组成部分,虽然不如工资多,但是性价比极高。由于我基本只干Design/Development,因此本文只介绍这两种,对于有志于Architecture/Assembly乃至Studio的,我给予精神上支持。另外,我在软件工程方面的知识体系极其山寨,这篇文章应该会有不少错误,请海涵。最后,转载请注明。
    一,准备
      虽然说TC的门槛并不高,但是还是有一些基础要求的,基本可以概括为:
      基础条件:
    1. 语言:Java/C#其中的一种;
    2. 英语水平:这个我比较没有具体化感受,至少我本人没有碰到过交流障碍,可以算四级以上吧;
      以下条件则不那么重要,如果有则事半功倍,毕竟有些学起来也是很快的:
    1. 常用framework:对于Java来说就是Hibernate/Struts/Spring等,对于.net来说就是WCF等;
    2. 企业级应用开发经验:TC的开发模式是借鉴了Agile Programming的,如果对这个有所了解应该能更快入门,当然,我不了解;
    3. UML相关知识:这个应该是必须,但是考虑到学得很快,就放这里了;
    4. 忽悠能力:这点在appeal时尤其重要,后面另说。
    5. 网络情况:出国速度越快越好!(抢review很重要!)
    二,TC的开发流程
      TopCoder作为一个老牌的软件外包(Outsourcing,参考http://en.wikipedia.org/wiki/Outsourcing)公司,在六年多的发展中自己完善了一套开发模式,从一开始只有Design/Development作为比赛开放给member,到现在的一条龙服务,按照开发时间顺序排列如下,括号里是我自己的土鳖翻译:
      Conceptualization(概念化): competitor直接与客户公司代表沟通,确定需求,将需求形成文字;
      Specification(规格化): 根据conceptualization的结果,进一步完善成需求文档(一般称为ARS,  Application Requirement Specification);
      Architecture(架构): 根据ARS确定整个系统的架构,并将整个系统打散成多个component,给出每个component的逻辑功能以及对外接口;
      Design(设计): Design的基本单位是component,这一点与上面都不同;Designer需要根据Arch给出的需求文档(RS,Requirement Specification)确定模块的内部逻辑,给出UML图及模块说明文档(CS,Component Specification);
      Development(开发): Dev的单位同样是component,Developer根据Designer给出的UML图和文档进行实际的代码开发,并且需要自己给出Unit test suite;
      Assembly(装配): 将完成的组件按照archi的要求装配到一起,成为一个(或者一组)可部署的程序;
      Test(测试): 测试,不多说了。
      关于Design和Development的细节在后面详述。
    (未完待续)
  • 相关阅读:
    angular 中如何使用自定义组件
    angular组件数据和事件
    angular组件数据
    angular绑定数据
    angular自定义组件
    angular项目目录结构分析
    Angular 开发工具介绍
    从Microsoft.AspNet.Identity看微软推荐的一种MVC的分层架构
    EF How to use context.Set and context.Entry, which ships with EF4.1 ?
    C# 向IQueryable添加一个Include扩展方法
  • 原文地址:https://www.cnblogs.com/YYi_H/p/1979928.html
Copyright © 2011-2022 走看看