互联网科技码农的世界Java

在公司做的项目和自己在学校做的有什么区别?

2019-07-04  本文已影响2人  433c801e5456

前言

不知道大家还是学生的时候有没有这个问题:公司做的项目和自己在学校练手的项目有多大的区别。我以前在学校跟着视频做一些项目练手,总感觉公司做的东西会要难很多,不知道跟公司的真实项目区别在哪。

总的来说,我实习的总时间也快半年了,谈谈我觉得公司项目和自己练手的项目有啥区别,欢迎补充。

区别

在视频练的项目大多数都是由讲师在本地编码来讲解整一个项目的开发过程,而我们去到公司做的第一件事是啥?把项目clone(checkout)到本地来看。

这就有两个区别:

比如说,我们使用Git的时候,要修改代码的时候会新建一个分支,改完了再合并到master分支上。

好了,现在项目已经在本地上了,那我们要将项目在本地上启动起来吗?这得问同事。在公司做项目,一般都分了好几个环境

有的时候,可能环境过于复杂(各种系统相互依赖),clone(checkout)下来的项目就很难在本地上启动起来,或者说在本地上的数据跟线上的数据差距太大了(比较难看出效果)。所以,有的时候可能就不用在本地将项目启动起来。

那问题来了,我写完的代码怎么调试啊?我们可以这样干的:将本地写好的代码push到测试环境,然后本地远程连接测试环境,对其进行调试。

<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;">远程Debug</figcaption>

还有,我们自己做项目的时候,try-catch完了之后,习惯可能就e.printStackTrace();

image

但公司的项目不会有e.printStackTrace();这种代码的存在。因为这打印出来的错误信息没有日期、等级等等,分析起来不方便。

image

在公司一般将错误的信息(或者有用的信息)写到log(日志)中。

于是,一般出现了问题,我们先去登上机器,查一下日志的信息是怎么样的。而登上线上的机器上,也不是直连的,会经过一层堡垒机。堡垒机是做啥的?

image

每次登录线上的机器都要ssh xxxxip 到堡垒机上,然后再到堡垒机上输入线上机器IP连接,着实麻烦。于是大佬们就会写自动登录堡垒机,直接输入IP到线上的脚本

于是乎,我们就登录到堡垒机上,然后再连上线上机器就去查看日志了。查看日志怎么看?

还有一点就是,在公司开发都要申请权限才能对数据库/机器/各种资源进行操作。而不像我们个人开发各种root权限,数据库各种DDL/DML随便玩。

DML/DDL数据库操作都要申请权限,发布代码到线上也要申请权限,想要去线上的机器上查看日志也要权限…..

最后

  1. 版本控制工具

  2. 远程连接Debug调试

  3. 不再使用e.printStackTrace();,而是log.error()来替代

  4. 各种权限都需要申请和审批

至于代码量来说的话,一般是公司的代码量比我们在学校做的项目要多得多的。技术的话就得看具体的公司了~

多年Java开发,今年年初,我根据目前市场技术栈的需求,录制了一套2019最新Java精讲视频教程,如果你现在正在学习Java,在入门学习Java的顾聪当中缺乏这样的一份视频教程,或者说有任何行业,技术方面的问题,你都可以加入我的Java学习交流qun:494,801,931,即可免费获取,群文件里面还有我整理的学习手册,面试题,开发工具,PDF文档教程,需要的话可以自己去下载。

上一篇 下一篇

猜你喜欢

热点阅读