美文网首页
开发之路

开发之路

作者: 阳光下的松木 | 来源:发表于2017-08-14 10:21 被阅读0次

最近几天浑浑噩噩,脑里如一团浆糊,无论如何也转不起来了。现在的状态也不知道自己在写些什么,也不知道有什么好写。不如就记一些流水账吧。

发现自己不能摸键盘写代码,一旦写起来跟本停不下来,就像上瘾一样,忘了吃饭,睡觉。那天,突然想把很久以前就想实现的作品稍稍弄了下。这是一个音乐播放器,在几年前,Windows 8刚出来的时候,就被Windows商店应用这个新特性给吸引了,也是因为手机的流行,微软开始重视了这些轻量级但又不失功能的应用。那时,研究了下API,发现也没什么难的,就写了一个非常非常简单的播放器,简单到用一个html5和audio标签就实现了基本的播放功能。这个项目也因自己的懒惰或是自身原因,或是喜新厌旧的心理,没过几天就不了了之了。在我重新打算开发的时候,我也发现了自己与当时的不同。所掌握的技术更多了,对以前的知识又有了新的见解。科技的进步速度是我永远望尘莫及的,慢慢的,我开始觉悟,掌握再多,也不如精通一套适合自己的技术栈,因为想要掌握的多是为了给别人打工时用的上,但精通自己的,则可以把关注点放在产品的创新与盈利模式上,而不是具体的实现方式上。因为大部分高级编程语言如Java,C#之类的都是通用型的,什么都可以开发,所以只需掌握一门即可,而有时间的话可以了解一下其他语言,可以拓展一些思路。

我现在开发的播放器用的是Vuejs,一个类似于react的前端开发语言。这还是我听室友听说的。要问我来美国有什么收获,那就是知道更多技术了吧。虽然在国内小有耳闻前端技术非常火,但是还停留在html5和css3的原生开发时代,殊不知已经涌现出来了如此多的框架用来帮助快速开发。室友专门学习了web programming,因为看他作业,也学到了不少新东西。也才发现了Javascript这个野生语言被统一标准后变得更加灵活,更加强大。这个播放器作为练手项目,用到了vuejs,vuex,vue-router这一套核心前端框架,howler音频处理库,electron跨平台桌面应用编译平台等等。用到如此多的技术也是让我着实的感叹了一把,以前只用原生Javascript要完成这样一个播放器至少要写2、3个月吧,而有了这些,2、3天即可成型。

在着手开发时,我也再次感到了开发的乐趣,一个产品从有到无,创造是人的本能,无中生有的感觉让人心灵澎湃,快乐无比。我用一天的时间用基本的html和css把播放器界面照着网易云音乐画了一遍,看到成品与原版如此之像,欣赏片刻后,一种骄傲和莫名的喜悦由然而生,原来我也可以做到这些,我成功了,我做到了,而且这是我自己的东西。在一边开发,一边学到东西之后,便开始了思维发散,为了脱离模仿的状态,我开始琢磨让它如何个性化。首先因为我自己并不能买下全部曲库,所以就只能做成本地播放器,由用户自行添加音乐,这是客观条件所限制的。然后改版了风格,让它看起来尽量独特。目前已基本实现一个播放器该有的功能了,再有就是锦上添花的功能了,如新增播放列表,用户登录等等。

作为回顾这几天的成果,发现了一些不少自身的问题,有一些也是程序员的通病。

  • 首先,最重要的一个问题量,如果写代码遇到了难题,或者不好解决的bug,这里我用不好解决的bug而不说解决不了的bug是因为没有解决不了的bug,都会一直研究这个问题,即使到点吃饭或者睡觉了也不能离开电脑,即使强迫自己去睡觉,满脑子都是这个问题,也会睡不踏实。就前几天,因为发现那个howler库的play方法会修改对象状态,而vuex是不允许这样做的,我又不能改它的源代码,所以要想一个重构方案,结果想了几个小时,都无法实现。结果到了半夜12点多还是想不出来,强迫自己云睡后,脑子还是在想方案,结果那天晚上就跟没睡一样,所以为了避免睡不好,还是不要在晚上开发了,或者规定自己9点之前必须停止所有开发工作。
  • 另一个问题是,好多编程技术文档写的十分详细,你不看就好像损失了一亿个知识点一样,所以我会总想着把文档通读一遍,而且文档还是英文,读起来非常吃力,虽然对框架理解的越来越多,但是往往是文档还没看完,就对这技术失去了兴趣。所以说,要学新的东西的话,只需要看get started或入门文档即可,因为看完就可以写出一个可以运行的程序了,然后就要开发自己的练手的项目,用到什么功能再去相应介绍它的文档章节去学习,这样才有效率。因为一个人不可能掌握一个大框架的所有知识点,有的一辈子也不见得用的到。就比如Java,我用了十来年,好多package干嘛用的根本就不知道。所以,能做到用时知道去哪查就好了
  • 最后问题是关于新手程序员的。好多新手在开发时遇到问题时喜欢各种问,而且问完一个问题知道答案后也不及时去想想为什么,然后马上遇到第二个问题,第三个,第四个...先不说其他程序员的时间是有限的,且一定不喜欢在编程时被中断,这种方式其实是学不到东西的,除非你不是真的想当程序员,如果想做一名优秀的程序员,那么有问题时,一定要想办法自己解决,查看官方文档或api文档,顺便普及下编程文档一般称为documentation或tutorial,是一步一步教你这个技术的每一个方面的,而api文档一般就叫做API,是对技术源代码的注释,所有的方法,类,参数的介绍都在上边,比如你不知道System.out.println()是干嘛的,可以接收什么样的参数,就去看api文档。这两个文档基本可以解决你99%的问题,不要说你没时间看,不光你没时间,你问的人也没时间。最后实在找不到解决方法就去谷歌,不要小看谷歌,谷歌什么都知道。不过谷歌跟文档的不同是,谷歌可以搜索你遇到的具体问题,这是文档给不了的,文档只有保证你按一般思路可以得到正确的方案,实际开发就不是这样了,问题是无处不在的。如果连谷歌都不知道的话,除了不会使用谷歌的原因外,那就没有人知道了。不要搜索中文的资料,因为这些资料不是过时的就是不是最优解,而且大部分中文文档也好,博客也好,自己都解释不清为什么要这样做。因为优秀的程序员英语一定不错,因为他要看英文文档,看stackoverflow,然后就会相应的活跃在英文社区中,而只甘享受阅读中文快感的程序员,只能固步自封。在看vue.js和weex,这都是中国人自己写的,却也在英文社区里十分活跃,你也不能说都是外国人吧?所以说英文水平也是需要提高的

本来想稀里糊涂的写写这几天所作,谁知又写着写着便开始说教了,这些道理你懂也好,或者不赞成也好,都是我这一路走来总结的经验,喜欢的拿走,不喜欢的请你走开,不要跟我抬杠或者反驳,你有你自己的想法,我有我的,道不同不相为谋。最后还是祝所有想成为优秀程序员的同行们,都能找到好工作,有自己拿的出手的作品。程序员都不容易,这么伤神伤脑的职业,大家还是要对自己好点,该吃饭吃饭,该睡觉睡觉,该锻炼锻炼,身体才是革命的本钱,才能在开发的道路上越走越顺。

相关文章

  • 一个iOS开发者的修真之路

    一个iOS开发者的修真之路 一个iOS开发者的修真之路

  • Android 音视频开发学习之路

    Android 音视频开发学习之路

  • Android 音视频开发学习之路

    Android 音视频开发学习之路

  • 开发之路

    数据是按照不同维度展示给不同角色的。 系统拆分,单模块应用到微服务调用 (多个模块可以组合成一个服务,每个服务有自...

  • 开发之路

    最近几天浑浑噩噩,脑里如一团浆糊,无论如何也转不起来了。现在的状态也不知道自己在写些什么,也不知道有什么好写。不如...

  • 开发之路

    自身非科班出身,之所以入坑。也有许多因素。本身是学通信工程,硬件出身,学过的都知道 模电 数电 信号通信方面内容,...

  • 2020年最全的互联网技术栈(持续更新)

    全栈开发之路 开发语言 开发设备 IDE 插件 ? 工具 项目管理 后端架构 基于springboot+dubb...

  • Java技术学习心得

    1. 学习之路,不走弯路,就是捷径 软件开发之路是充满荆棘与挑战之路,也是充满希望之路。Java学习也是如此,没有...

  • SpringBoot开发单体应用(三)

    单体开发进阶 SpringBoot的Web开发之路 众所周知,CRUD是每个程序员的必经之路。作为一个初级程序员,...

  • 教育观点

    黄卫老师关于美术的观点: 1、引导感受,走本质之路。 2、开发媒材,走生活之路。 3、剥离文化,走品味之路。 4、...

网友评论

      本文标题:开发之路

      本文链接:https://www.haomeiwen.com/subject/ganyrxtx.html