忙于工作,每天加班到晚上11点,最近终于是闲了一些,通过最近工作,得到了好多的启示与教训,本人是真的太菜,希望通过多多记录,多多反思,多多总结,能够尽可能的提升自己的技术吧。
因为自己是培训班出身,大学虽然接触了编程,但像大部分不好好学习的同学一样,最终没能对编程有所了解,不是有人说过吗,培训班其实就是用三四个月的时间把在大学逃课不学的东西补回来,
也算是提供了机会真正接触了编程吧。通过这一年多的工作,真的得到好多启示。
首先,在培训时和找工作时,信心满满(不知道信心从何而来),觉得肯定会有很好的发展到找工作三个月依然没有收到offer时的火急火燎,当得到一份offer时,真的是觉得其实工作不好找,在此也
奉劝一下将要加入这行,通过培训机构的同学们,培训不是让你一步登天的,能不能得到你想要的,还是需要看你付出多少的。
在来公司半年的多的时间里,每天都是在干一些特别琐碎的工作,可能都和编程无关了,只是再调动画,调整人物的位置,再有就是修改bug了,简直可以让人发疯的。
一年经历了三个主程,三个总监的男人,呵呵,说实话,刚开始真的提升很少,自己每天看书,可实际用不到,总是会忘,后来技术部总算稳定下来了,跟着总监干了三个月,基本上是自己负责一个大块了
(对于我来说),感觉这三个月学的东西比半年来学的要多的多,慢慢的,在别人提出的意见里,在看别人如何解决问题的过程中,懂了很多。
对于刚刚入行的小菜来说(比如我),就编程来说,最重要的不是学多少api,学多少数据结构,写多少代码,做多少功能,也不用去学什么其它的语言,首先该干的就是要入门,没错,是入门,你可能会说
我都培训了几个月了,也工作几个月了,很多东西都使用的很熟练了,早就入门了吧,其实不是,你有觉得你的代码写的很乱吗,有觉得一个相似的功能你能重复的写好几遍吗,你的上级会说你代码要简洁一些吗。
所以是肯定的,你的代码一定被说过,乱,很乱,你写的东西可能有无数bug,所以,代码的美观,代码的简洁,代码的设计真的是无比的重要,写代码,不就和写文章一样吗?好的代码是让人精神亢奋的。
写好代码,可以让自己有信心继续写下去,也给自己日后的维护扩展打好基础,有没有这种时候,自己好不容易写出的功能,过了几天再看,自己都懒得去看了,找一个问题,来来回回的还是找不见,自己都看不
懂自己写的了。总之,我是这样的,也被说了好多好多次,人嘛,都是有自尊心的,不想总被人说,所以,我一直在努力的改,从变量名做起,不在写 int a = 0, 也不要写一个类写一千行了,我在慢慢的改,
把自己改的更像一个程序员。
代码的整洁毋庸置疑是很重要的,杂乱无章的代码只会让人心生厌恶,所以,尽量做好。再者让我体会比较深刻的就是对于面向对象的理解,c#是一门面向对象的语言,大家都是知道的,很多很多人也都知道面向对象的
三大特性:封装、继承、多态,也知道要写可扩展,已维护,复用率高的代码,但是,这不是学会背几个概念就懂了的,重复代码是大部分新手最容易犯的错,ctrl c ctrl v总是要比动脑筋想要来的简单,“就是论事“的惯性思维
总是伴随着我们。
有没有遇到过让你写一个功能的时候,比如得到一个人的所有信息(名字,年龄,性别等)把他保存起来,然后你定义的是string peopleName = xx, int peopleAge = xx, string peopleSex = xx, 忽然过了一段时间
这个人的信息要显示在面板里了,于是你写了个方法ShowPeopleInfo(string name, int age, string sex), 把这些信息显示出来了,又突然,又需要把这些信息传递给服务器了,所以你又写了一个方法SendPeopleInfo(string name, int age, string sex)
ok,到这里一切还算顺利,只是方法的参数有点多了,可是,这个时候这个信息开始多了,你需要添加他的家庭住址了,需要知道他是不是结婚了,得知道他的孩子叫什么名字,需要知道他的工资是多少,然后你又把这些
再次添加上去,好吧,你都会觉得ShowPeopleInfo(string name, int age, string sex,string address, bool isMarried,childName, int salary )怎么这么长,更可悲的是,这个时候你还需要记录乙和丙的这些信息
你要一个一个去记吗? 是不是又要把它做成一个类的冲动 People 类是不是好一些。
我举的是很简单的例子,应该大部分人不会那么做的,因为都知道那样很蠢,问题是显而易见的,不要用你的惯性思维去考虑问题,也不要写成流水账,一个步骤一个步骤的写,当一个步骤不能进行下去了,接下来的功能都不能用了。
养成以面向的对象的方式去考虑问题,可能你想不到,抽象不到那种程度,可是,谁都不是刚开始就会的,慢慢来,去尝试的做,难道不应该是这样吗。
解决问题的能力对于自己的发展也是很重要的,给你一个任务,当然,是需要看结果的,可是解决的途径是你通过以前的功能举一反三出来的,还是通过问你身边的人解决的,还是你百度谷歌出来的还是有差别的。
比如你没有接触过json,现在你写了登录了,需要验证用户名密码了,你用的是post请求,服务器给你返回来一个json结构,这时候你手足无措了,你不知道该怎么得到这个结构中的信息了,这时候你是停下来问一下你的主程吗?no, 千万别这样,
他可能会和你说,你能查一下吗,我也在忙啊,是啊,你自己去查不就好了?如果当前项目里有,你看看,模仿项目里的来,不就解析出来了吗?下次遇到了不就会了吗?你也找到一种方法呀,不会的东西,看看别人怎么写的,然后,
去模仿的来,最后不就会了吗?这不就是你的能力了吗?你也可以去上网查呀? 搜个 json, 你还能了解了解什么是json, 你还知道了怎么把一个字符串转换成json了,当然,怎么解析json你也会了,这不都能解决问题了吗?如果当时
主程告诉你了,下一次遇到字符串转json 你不是还不会吗,还不是得问吗,下一次把人问烦了,会不会骂你呀。 要到个bug第一反应不是去调试,去找它可能发生的地方,而是问别人为什么会报错,然后盯着代码看半天,这样真不是解决问题
的办法,当然,一个问题你解决一天了,还是没解决,可以问一下别人有好的解决方案吗,在写一个功能时,没有思路,也可能借鉴一下别人的,但你写的代码就是你写的,别人替你解决不了,所以,大部分时间还是多去自己研究吧,当然我没说
不可以正常的学术交流,服务器的东西你不懂了,你当然可以多问问写服务器的哥们,如果他不介意的话。
学习也充斥着我们的职业生涯,活到老学到老同样适合我们,但是,学习也要有规划,也得适合自己。《从学徒到高手》中提到了,你得先学一门主修的语言,这会给你信心,如果你在学c# ,仅仅是刚刚懂了一点,能写一些代码了,然后你觉得
c/c++很重要,你要补充,然后又去学c/c++, 这样的方法我认为是不好的,人的精力毕竟是有限的,最后的结果可能是c#也不熟练,c/c++也用不好,不要什么都想学,业在于精不在多。 我曾经就犯了这个错误,c#学还没学好,就又像看c/c++
又像学java 看了一段时间书,还是放弃了,因为没有用到的环境,很容易忘。 拿我来说,我现在觉得我最应该是把编程的门入了,还得入好了,代码写的好看点,结构写的清楚点,逻辑在明确一些,我不怕别人说我很菜,到现在工作一年多,还是这么
菜,但我在努力,我在一点点变好。当然我说的不是说不去学习别的东西,刚才已经说了,是要适合自己的学习,更有效率的去学习,比如现在你们公司要求,你们是前后端一起开发,自己负责前端和后端,这个时候不是不去学,是以后很好的机会
去了解你不了解的东西的时机,总之就像《代码整洁之道》作者说的,并行开发吗,只是让学习更有效率,切忌贪多嚼不烂。
总而言之,言而总之,这些都是我遇到的问题,也是我在提升的方向,希望与大家一起努力。