时间过得真快,我做了三年的软件工程师。没做过项目,一直在做框架相关的工作,有时候维护web框架代码,有时候写移动端Hybrid的前端UI框架,有时候做开发工具或者自动编译平台等等。我会想分享一下我这段时间在工作中的个人经历,可以分为几个点:做框架的态度。我在工作中做的最多的是框架。框架的本质是提高可重用性。对于框架来说,除了能力很重要,关键是框架的态度。1.不要因为困难而停止做(1)。作为程序员中的程序员,如果你解决了一个难题,那么所有使用你的框架的人都会受益。(2).哪怕是一个很简单的功能,能做就做,只要这个功能不哗众取宠。我很厌烦的是有些人遇到困难连研究都不深入。当然,解决困难的问题可能需要很长时间,但如果有好处,那就解决吧。2、确定是否真的做不到。可能由于框架开发者的能力,有些问题找不到解决方案,所以有些人很容易将其归结为做不到。不是我不能承认我做不到,而是希望有问题多讨论。说解决不了也太简单了。不要轻易说“做不到”,这个“做不到”应该是经过反复验证得出的结论,而不是“你做不到”。3、不要让用户把用户提供的东西当傻子一样做太多。能包装就包装,能简单就简单。不要让他们走太多弯路,否则会有很多问题抛给你,用户会很痛苦。4.框架技术选择如果框架需要连接其他技术,那不是你最擅长的技术,而是大众最常用的技术。比如当Python、Go、NodeJS都可以的时候,你能不能考虑最流行的NodeJS?JavaScript1。关于控件的本质,我写的最多,感悟最深刻的是。所有控制效果的本质都可以归结为对DOM元素的位置变化、若隐若现和事件的控制。所以,在实现一个控件的时候,最本质的分析就是关联了哪些元素,包含了哪些事件,涉及了哪些CSS3效果。这样,你就不会吃亏了。2、注意重复使用。另外,大家在写重复代码的时候,一定要注意重复代码中是否存在复用,是否可以优化。不要只是复制和粘贴。这种随意的复制粘贴在JavaScript中很常见,所以加强可重用的东西(组件、控件)的编写能力就很重要了。在Hybrid框架(移动)之前,我在Hybrid框架的WebUI部分工作了一年多。(目前有很多不错的Hybrid框架,我在之前的文章中也提到了很多,想看的可以看)。这里有两点我想告诉Hybrid框架的开发者。1.如何使它像本地人一样(1)。网页结合原生shell的应用和真正的原生应用在效果上还是有区别的。那么如何做到像native一样,那就是使用native。动画效果和控件都是原生实现的,所以效果真的很像。(2).控件风格基于手机原有的控件,如framework7.现在很多框架都能在原来的身上找到影子。没必要自己搞出一套效果图,除非你能比苹果的设计师做得更好。2.不要使用单个页面这是我添加到框架中的最糟糕的东西。这导致开发者的开发难度增加,在Android上的效果也不尽如人意。部署自动化1.不要手动执行。无论是移动应用、桌面应用、原生或混合应用(Hybrid),还是前后端应用,程序打包和编译都应该自动化。2.解放开发人员开发打包平台,开放版本和可配置内容,让部署人员进行配置和打包,开发人员不参与。这种东西是利己利人的,尤其是经常打包搭建的时候。当你花几天时间把事情自动化,你会发现后面节省下来的时间不止几天。关于学习的问题1.学习只能靠自己1).公司本身不是给你学习的地方,而是给你创造价值的地方,只是创造价值的时候,顺便学点东西,这样你才能得到实践。当然,做的事情可能没有学的地方,只能充实自己,所学未必能付诸实践。2).前辈只会给你一个大概的了解,没有人愿意手把手教你。他们都希望你主动学习。2.多学多总结从毕业到现在,每当遇到问题,我都会记下来,找时间解决,然后总结经验,写在博客里。总结写博客的好处是可以对经验和教训做一个完整的总结。为了使博文内容正确,我会查阅大量资料进行总结,这样总会有一些成长。还有一点,学东西一定要有结论。没有结论,你无法阅读很多东西。这样的话,下次再想起来,还是不知道重点在哪里。所以,不管结论是对是错,学习后自己总结一下,即使错了,也能看明白。对待错误的态度1.不要害怕,早些年,遇到问题和错误,细节不明白,就开始慌张,担心自己解决不了。不过现在比较平静。对于错误,先明确问题是什么,再判断是不是应该解决的问题,问题是否紧急,最后再考虑如何解决。***,天塌下来,老大挡路。2.承认你做不到。如果你做不到,就承认你做不到。不要固执。万一以后出了什么问题,就尴尬了。对于自己1.面对不足,虽然我自称是前端工程师,但我知道自己做不出那些漂亮的页面(设计),但是在脚本部分还是有一定的造诣的。我不是一个聪明人,我只是有点勤奋,我会花时间去想办法。为了写出一篇好的博文,我会去搜索资料,全面验证。2、三年成为别人的依靠,也让我成为别人在某些方面无法做到的唯一依靠。此时,天塌下来,我来找你。3.我有点偏执。当我看到的东西越来越多,我知道的越多,我就越能辨别是对是错。如果我认为是错误的,我不会妥协并指出来。4、小进步我不是一个努力的人,也不是一个不想进步的人。我也怕自己不会进步,但是我又不喜欢勉强自己,所以现在每天都争取一点不一样。闲暇之余,我会学习玩弄小东西,写博文,无聊的时候玩玩游戏。我希望我能跟随我的心。人总是需要有所追求的,否则每一天都差不多。我的追求是每天不一样,每天进步一点就够了。总结一下,我开始做一个产品的后端,后来两年转前端(根据部门需要,在我部门,不是你懂的,而是whatyouwanttodo.IfyouneednewtechnologytoIfyoudoit,youhavetolearnitanduseit)。三年时间很快就过去了。以上对我来说比较重要。希望对初入社会的程序员有用。
