刚入职的java程序员,在公司已经看了两个礼拜的代码了,感觉做不来,怎么办呢?

那个漫


做不来硬着头皮做鸭,刚毕业那会,带我的人在我入职一个月就跑路了,他负责的一个新系统才做了一半,领导逼着我接手。接的住就转正,接不住就滚蛋。那会真的是压力大,天天晚上失眠,每天洗头都掉好多头发。天天晚上研究到一两点,不懂就问同事,一般同事有时间都会和你说的。反正最后抗下来了,想想当时扛不住估计也就转行不做开发了吧


用户1572265430982


这样的情况很正常,我大四在一家公司实习,刚开始要我改需求,这代码都是别人写的,刚开始看的很吃力,而且这个项目的业务很复杂,sql动不动就是一百多行,七八张表,当时我是看懵了,完成不知道这sql要实现的逻辑是什么,但是当时有个人带我,有时候会指导自己我一下,但是做了几个礼拜我还是很懵逼,而且还要我改前端,但是我作为一个后台要我改前端真的要命,所以我就做了一个多月就辞职了,后来拿到毕业证进了一家公司,纯做后端,我那时候刘想终于摆脱写前端,虽然刚开始写代码的时候,出了很多问题,也是经常请教我身边的人,还好公司的同事人都很好,也会帮我解决问题,做了几个月后,我才觉得自己入门,基本的crud基本没有问题,不过遇到很难的问题还是会请教我同事,所以说你现在如果碰到不懂的,你应该多问一下你的同事,他们会帮你解决的,平时的时候多加强学习,做了一段时间后,你就慢慢会有感觉的


Jun日记


我感觉对于一个初入职场或者换了一个新工作,新环境的人,遇到这种情况是非常非常正常的现象。

我先讲讲我个人的经历吧。我在 12 年毕业的时候,初入职场,是做 Android 开发,在大学里除了学习自己的专业知识之外,Android 开发是属于自学的。毕业那年,我一个人独自踏上了北漂之路。面试了一家做打车软件的公司。当时给我安排的工作是打车软件用户端的 Android 客户端软件的开发工作。


一个新入职场,没有任何工作经验人,只是通过大学自学的 Android ,当然他们把 Android 端代码扔给我了,给我一到两周的熟悉时间。我当时,打开代码熟悉的时候,说实话,确实一脸懵逼,感觉好难。其实,并不是难在代码看不懂,难在的是架构模式,就是这套代码使用的是什么架构模式。

我第一天很懵逼,第二天依旧懵逼,公司安排了一个人带着我,我初入职场其实不好意思问,就自己百度搜索,学习,慢慢从头开始理顺整个架构和回调,只要这个理顺了,就很简单了,我花了一周多就理顺了架构逻辑和网络请求的回调,封装。理顺之后,就感觉好简单。


我当时,那一周多,也是感觉自己做不来,但是对于应届生来讲,找工作不容易,不能轻言放弃,只能硬着头皮上,仔细研究和琢磨,没有什么克服不了的。


我的例子讲完了,我来讲讲,感觉做不来怎么办?其实,感觉做不来,一般分两种情况。

技术底子不错,就是架构和业务不太清楚

其实,这种情况下,你不必焦虑,因为,不是你做不了,也不是你做不来。只不过是还没有把代码看透,尤其是新的代码的架构等东西,跟你之前使用的不一样。而面对这种新的东西,人往往都是抵触或者缺乏自信的。


这时候,其实你需要做的是,相信自己能够做到,然后先去理顺整个架构,以及业务逻辑,找到代码的核心点,一点一点的克服。代码其实最核心的东西就是架构模式,只要这个找准了,其他都好办。


这种情况不是你做不了,是因为面对新东西,缺乏自信,抵触造成的假象。


真的看不懂

还有一种情况就是完全看不懂,一点也看不懂,这就说明你技术底子本身就很弱,这时候,硬看是没有意义的。因为,基础不扎实带来的问题,不是你看懂架构就能解决的,因为基础不扎实,架构原理你懂了,你也白费。


这时候,如果公司有带你的人,你必须虚心请教,放低姿态,以学习为主。而且平时应该去夯实基础,这是耽误不得的。


如果公司要求你马上上手,你实在做不了,只能辞职了。因为,技术达不到公司水平和要求吗,自己实在看不懂,干的也很焦虑,没必要耗着,就辞职,感觉去弥补基础带来的差距。


关注「非著名程序员」,每天分享有价值的科技内容,也欢迎大家在回答底下留言,一起交流分享,另外回答不易,请点赞支持。感谢!

非著名程序员


听完我的经历,我想你应该会对自己有信心的。我刚转行的第一份工作是这样的:连最简单的方法之间调用我都不会[捂脸],我也看不懂方法为什么这样或那样的命名[流泪],刚进公司的时候,公司有现成的代码给我看,让我修改bug及加新功能,我看了一个多星期都看不懂啥意思(天书)[捂脸],要知道我连方法的命名都不知道那我更不可能看得懂,(不过我很幸运的通过网上搜索和哥们传授的各种面试经历顺利通过面试,公司给8k),我当时一边看一边怕,心里只想着完了完了可能要被开了,心里特别不安,不过我很幸运的是我遇到了一个特别特别铁的哥们,他让我把我们公司代码也给他拷一份,他帮我看了公司的整个项目代码,然后我每天下班回去不管多晚他都很耐心的一个个方法、数组、方法参数有啥用、什么是接口、什么是类等等等都跟我讲解,帮我改bug还帮我按照公司的要求添加新功能,(真的特别感谢我这个铁哥们),一个月后终于提前试转正,后来他教我如何更容易看代码,把他们公司项目给我让我安他教我的方法去看代码试着去敲代码,他还专门从网上购买了黑马培训视频资料百度云及极客等网站给我自己一边工作一边学,慢慢的,我就能独立修改代码找bug及独立一个人完成整个项目封装工具等等……。如过我当初放弃的话而且没有我那铁哥们的耐心帮助的话我现在可能只是工厂里的一名普通员工了,真的特别感谢我这位铁哥们。哥们你一定要相信自己,我一个接近零基础的人都能坚持,和你你非零基础呢,一定要加油


陌陌2438


实习生都可能都这样,看代码不知道你看的是什么,你应该是j2ee吧,公司有自己框架的看看他们从前台到后台的增删改查怎么写,然后结合项目业务去试着理解点流程,这个也不是叫你自己去完成,看看公司用的什么 对应去看看响应技术基础,只要耐心过一两个月就轻松很多了开始都这样。我13年带过一个实习生,那时候公司ssh,来了第一天我问这哥们以前接触过吗?他告诉我写过html,沟通的时候我发现他js css也不知道,指着eclipse.说是Oracle,真是服气了,for都不知道怎么用,然后人家北京户口,跟公司领导有关系,没办法我每天每天上午抽半个小事从jsp servlet tomcat开始一步一步告诉她,给他降最简单的web逻辑思想,这哥们儿挺有毅力,本来我是打算过两天不行直接找部门经理说给换掉他的,看到这哥们毅力觉得帮帮他,一个哥一个哥的叫着,正好那时候不忙也是国企就当玩了,两周后这哥们能自己配置ssh,胡乱能写增删改查了,就这样慢慢能改逻辑了,等三个月给我打电话说离职,理由是他父亲去世了,我就同意了,一年后碰见了说当时骗了我,那时候感觉工资低,换工作了,其实挺伤心的。讲这个故事其实就是告诉你,只要有毅力其实没有什么学不会的,基础弱就从基础学习,一步一步来,要理解不要看到什么就懵逼,现在不换什么框架都是简化开发,你记住都是servlet jsp那一套东西,无非就是页面传个值,处理处理在传回去,慢慢摸摸流程,看别人增删改查怎么写的,看看框架的特点,什么都没接触直接spring boot.骂一套确实需要记很多东西,不过上手挺容易的 ,上手以后再去理解为什么这样,不要开始就想着都学会了,多写多学,一定要做到知其然,知其所以然,这样对你以后好。希望能帮到你。


小白成功记


Java程序员刚入职时肯定在各方面都是不熟悉的,所以刚入职时的主要任务是学习,尽快熟悉公司各项业务。我不知道题主入职的公司是家什么样的公司,我就说说当时我入职时是如何快速融入公司的。



那是一个躁动的季节,7月份大批毕业生进入职场,开始了职场人的生活,我就是就业大军其中的一员。我进公司也是做技术,那个时候每个人刚进公司时会有半年的考察期,同时会给每一个新人安排一个老员工做“导师”,在这半年的考查期里就由这位老员工带着你,最后你能否转正,老员工是有很大的话语权的。

新员工入职后最好的学习方法是什么?就是看代码。那个时候老员工就直接扔给我一套代码让我看,这代码都是他写的,看不懂的就问他,而且这套代码以后就由我来维护了。于是我就开始了苦逼的看代码的日子。



看代码的日子肯定是非常辛苦的,有不懂的我就问老员工。老员工说熟悉一套代码的一个办法就是熟悉这套代码对应的流程,结合着流程看代码打印的日志。于是我就实际在线上维护这套代码,看代码的输出,而且每天7点多就到公司看代码,就这样坚持了两个月。

功夫不负有心人啊,经过我自己的努力,老员工的指导和线上的维护,两个月后我终于理解了这套代码,而且维护起来也得心应手,在这方面在公司有了一点小名气。

所以这位题主,熟悉代码没有捷径只能不停地看看看,花的时间足够多一定会理解代码的,要有信心哦!


数字视听科普



小怪日常vlog


小伙子,看在你这么老实诚恳的份上,我就告诉你一个程序员之间的不传之秘吧!

这个秘密是:写代码比读代码容易!!!

你知道老代码在我们程序员圈子被称为什么吗?

屎山!

对!你没有看错!就是狗屎一样的代码堆得像山一样高的意思。

一份代码哪怕一开始再怎么优雅,在经历了岁月的洗礼之后,随着各种各样的傻逼需求、临时方案、bug补丁、半吊子重构而变得丑陋臃肿。

再加上国内同行普遍不爱写注释、不爱留文档。

想要看懂简直比登天还难。


写代码就不一样了。

你作为新人,不会给你太难的任务,也不会让你动核心代码。

你接到任务后,只要了解任务相关的那点代码就够了。

要是不明白,你还可以问老员工。

甚至就算写出bug也没什么大不了。毕竟不是核心功能嘛。


所以,不要怕,读不懂代码没事儿。你去找领导要个小任务,顺便再让他给你指定一个导师就ok了。


自称实战派ex


我认识的很多程序员工作两年了,我都会问他会什么,其实一般得到的答案都差不多,感觉自己就会增删查改,什么也不会。其实Java开发最开始就一个增删查改,仅此而已。为什么觉得自己不会,心理上还觉得自己做不来了,为题主分析分析:

为什么从看代码就觉得自己不会

做过一到两年开发的小伙伴,跳槽过几次的小伙伴应该大部分都遇到过,你被分配岗位过去是接二手代码来开发,接二手代码开发去了之后基本就是在看上一个人的代码,其实大家都有体会,看别人代码很多地方是看不懂的,特别是业务逻辑比较复杂的地方,如果还没有注释,你基本上就会在内心中疯狂的问候上一位开发者。你看不懂其实是一个很正常的事情,你想想,你把你一个月之前写的代码拿出来可能你也会看不懂。

其次就是题主是刚入职,没理解错的话,应该是第一份开发工作,第一次就接到二手代码确实是有点茫然,不知道从那里开始,在加上自己心理没底导致怀疑自己的能力,其实大可不必,因为如果刚开始的工作内容上面答主也说了,基本就是增删查改,没有深特别高深的东西,特别深的东西你们组长也不可能给你去做。

要看业务,不要看代码,代码是别人写的,业务是需要自己理解的。

企业让你看代码是为了什么

如果是接二手项目的话,第一:让题主自己知道上一个开发者做到那里来了,这样在接着写的话,你自己也有头绪;第二,你自己也要对基本的业务流程有一定的熟悉。因为开始的业务不是你写的,所以对整个模块的业务功能的理解上可能不够深入,所以需要去看看上位开发者来帮助自己理解。

如果是公司的主要营收项目,那么如果让题主去看代码是为了让题主能理解之前项目中整个业务过程,好做对应的有业务关联的下一个项目的开发,或者对对应的功能做升级,或者要添加新的功能做二次开发。

如果公司比较大,自己去根据自己业务改出来的框架或者技术做的项目,但是这种情况一般都会做事先的培训工作,在去接触代码的。那么这个时候看代码是为了让你熟悉公司自己的东西,后期好马上入手进行开发工作。

不要真的被别人写的代码毒到了,看代码就是为了业务

怎么样让自己能快速的进入项目才是最主要的

不管是什么原因去看代码,其实最主要的是快速熟悉业务准备进行后期的开发。在题主看代码的时候一般相应会给你开发文档,这个时候不要盲目的去看代码,最好的方式就是结合着开发文档一步一步的去查看对应业务的代码,在看代码的时候最好不要在某些上一个开发者写的比较复杂的业务逻辑代码上纠结,你只要知道这段代码是给你做了一件什么事情就行了,因为上面就说过,别人写的代码你是很难看懂的。主要是理解现在的业务逻辑流程,然后随着这个流程能让自己有所理解,并且如果是做二次开发能接着开发,如果是二手代码能继续上一个人的位置能继续开始。

其实主要的开发都是增,删,查,改;要相信自己能行

总结:看代码其实就是为了让你自己能理通业务逻辑,所以不要一直纠结看不懂别人写的代码,每个人有自己的想法,同一个业务可能不同的人写有不同的写法。千万不要觉得看不懂别人的代码就否定自己,相信自己,说的在不好听一点,不会那么我们就去学呗。

以上是答主自己的个人意见,如果有更好看法的小伙伴,可以在下方评论区留言,或者点个赞,加个关注,我们一起探讨探讨。


自学JAVA


身为了一个某公司的技术总监,分几种情况给你一些建议吧。

第一种 有相对明确的文档或者有同事给你做一些代码大致的讲解,只是有个别的技术栈不会。这种情况其实基本上每个人都会遇到,有什么好办法解决吗?很简单,边学边做,这种方式是我们技术人员学东西的最佳途径,我们应该感觉很幸运,有这么好的机会去学习新的技术栈。

第二种 没有对应的文档或者同事来讲解,看着看着就看晕了,这个也很正常,毕竟我们这一行自己写的代码过两个月再看自己都可能不认识,怎么办呢?从业务功能入手,选中一个相对简单的功能点,在项目里找对应实现,看懂了,再尝试做些小的修改,然后基本上就可以做些简单的新功能了,然后,其实你已经可以做下去了。

第三种 基本技术能力欠缺,代码确实看不懂,也别气馁。唯有提高我们自己自身的能力了,才能往下走,不是吗?

以上三种情况是我的建议,最后我会留下一些学习网址,希望能对你有些帮助吧。

https://juejin.im/post/5dedd995f265da33b313e90d 这个地址应该比较适合你,下面是部分内容,你可以看看。

Java

JavaGuide :【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。

CS-Notes :技术面试必备基础知识、Leetcode 题解、后端面试、Java 面试、春招、秋招、操作系统、计算机网络、系统设计。

advanced-java :互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识。

architect-awesome :后端架构师技术图谱。

toBeTopJavaer :Java工程师成神之路 。

tutorials:该项目是一系列小而专注的教程 - 每个教程都涵盖 Java 生态系统中单一且定义明确的开发领域。 当然,它们的重点是 Spring Framework - Spring,Spring Boot 和 Spring Securiyt。 除了 Spring 之外,还有以下技术:核心 Java,Jackson,HttpClient,Guava。

JCSprout :处于萌芽阶段的Java核心知识库。

JavaFamily :【互联网一线大厂面试+学习指南】进阶知识完全扫盲。

JGrowing :Java is Growing up but not only Java。Java成长路线,但学到不仅仅是Java。


分享到:


相關文章: