我是一名码农,而且是位java码农,至少几年内一直会是。同时,我是位攻城狮。
在实验室时写代码,做工程时候培养的想法和思路是封建的,狭隘的。实验室做项目,连基本的版本管理工具SVN都不会有,所以不会有周期性的迭代,更不会有code review,不会有测试(包括你自己开发时候在build项目时候的测试以及之后的测试)。你只要做老师给你布置的那块任务而不用参与过多的设计,你的代码是写在自己本地的而不用考虑不同环境平台的迁移,你的项目可能就是个java project或者web project,你的项目可以跑出结果就可以了而其他方面老师都关心不大。
至少在一个小公司里,要开发产品,最简单流程是怎样的?最简单的场景:公司把代码托管在github上,公司有台服务器,你写的是新的模块。流程:你有一个安装了maven和git插件的Eclipse,你构建maven项目,并配置好项目的依赖,包括第三方库,你的测试是基于junit库的,也在maven里配置好。你本机和公司的github库以及服务器putty都通过ssh设置好了key,你写完代码后,commit后push到git上。在服务器那边有一个CI,比如是jenkins(或者Hudson),公司已经帮你把jenkins搞定,你只要用google帐号登录,在jenkins里写几行shell,让它自动获取git端最新的代码并进行mvn
install,在这个过程中你已经不用管任何环境的问题。你自己的测试代码成功通过,你的项目构建成功。这只是最简单一步。虽然java称是“一次编写,到处运行”,但是不同环境下跑代码还是有很多很傻逼的问题。比如:1. Eclipse上默认编码是GBK,你可能每次建成项目之后都要在properties里把编码改成UTF-8,同时,你在搞输入输出流,或者getBytes()的时候,都要写好参数"UTF-8",保证没有问题。2. java main函数是不返回值的,而Linux shell下main类跑完没跑完,最后都是给出一个0,后果就是它并不知道你的main类执行结果是否正常停止,除非声明了Throw
Exception,返回值会非0,提示程序不是正常停止的,所以该throw出来的就不能try catch掉。
我们再看看别的。google公司在开发Android的时候贡献出来的一个附加产品:Gerrit。这里插一句,不论公司是做什么产品,做的是什么规模的产品,哪怕你就是个做网站的,你的网站都没什么PV的,内部都会有一套够复杂够专业的项目开发和管理流程,涉及到很多主流工具,而很多公司会有自己内部一套私有的工具,大公司甚至可以最后开源出这套工具,而变革一个开发时代,冲击整个业界。Gerrit 是一个基于 Web 的代码评审和项目管理的工具,面向基于 Git 版本控制系统的项目,Eclipse和Android的管理开发都使用了它。google
gerrit eclipse或者gerrit android,就可以找到Gerrit上是怎么做Code Review的。授权的开发者在向这样大的开源项目提供代码或补丁的时候,CI结果,提交失败与否,diff内容,CR内容都一目了然,改革了项目开发流程,所有授权人员都可以在web上进行CR。授权开发者有很多是公司内部的团队,可能公司聘你就是让你干这事的。如果想被授权,好像你只需要得到所有授权者里的三票,大部分人可能都会弃权,但如果有一位反对就不行。再拿Android举个例子,Android的git库好像已经达到百多个git仓库了,使用了100+的开源项目,所以每个版本的编译都有明细记录,任何一个子项目的版本有出入,你就不可能编译出一个Android4.x版本。安卓所依赖的CM也使用Gerrit做开发管理。
可悲的是,在学校里,我从来没想过一个真正大型的项目是怎么开发的,这个问题想都没想过,更别说去google下。我一年前说我想做架构师,幼稚的是我依然停留在只关注技术细节,依然在关注业界什么受关注最多,什么最火,随波逐流。
以上所说的,就是想指出一些应该具备的认知,无论是否在学校里。现在注重的可能还是技术细节,功能实现,但更重要的方面是对整体架构的把握,不然靠时间升完职,就再也爬不上去了。真正的高手,一定会具备以下几点:整体架构的把握大于技术细节实现;熟练掌握项目管理和开发的各种平台、工具;解决问题能力;看清什么是最实用的技术,什么能真正解决问题,不管你现在炒的是什么概念,你搞的是什么方向,你用的是什么语言。
分享到:
相关推荐
玩具产品风险评估表.pdf
玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 玩具系统 ...
“佳佳”玩具网络公司全称为“佳佳”玩具网络有限责任公司,由3位队员每人出资10万,寻求风险投资商的投资14万,以资产抵押的形式贷款10万共54万作为初期资本。由三人分别担任公司不同部门经理,组建公司。
玩具产品市场调查问卷.doc
完整论文参考,ASP玩具公司网站设计论文
玩具新产品开发流程.pdf
潮玩盲盒专题报告二:文娱消费从数字内容到玩具产品,泡泡玛特将IP落到Z世代线下场景
潮玩盲盒专题报告二:文娱消费从数字内容到玩具产品,泡泡玛特将IP落到Z世代线下场景.pdf
一. 机器人玩具的发展史与种类 1 1-1.原有玩具结构说明 5 二.改造后工作原理及计算 8 2-1 原理结构 8 2-2 产品工作原理计算 8 三.产品结构零件图及二维图 9 3-1 主链prt0001 9 3-2箱体PRT0007 10 3-3箱盖prt00015...
玩具新产品开发流程-玩具新产品开发流程.doc
玩具行业2018年H1财报点评:全球玩具市场低迷,关注IP授权玩具、教育玩具等细分机会.pdf
玩具新产品开发流程_玩具新产品开发流程图.pdf
传媒行业深度报告:从食玩到玩具开箱短视频看文化符合与媒介价值(上篇).pdf
玩具产品分类.pptx
玩具产品公司网页模板
玩具类产品强制性认证实施规则-电玩具类产品分享.pdf
玩具类产品强制性认证实施规则-塑胶玩具类产品分享.pdf
将玩具代码为“00001”的玩具的mYoyRate增加1 在数据库中删除品牌“Largo” 将种类“Activity”的信息复制到一张新表中(PreferredCategory) 将种类“Dolls”的信息从表Category复制到表(PreferredCategory)中 insert...
玩具行业市场调查报告包括国内外市场,产品消费群体
玩具产品说明书.doc