本文概览
- 本文是对编程过程中的一些思考,或者是蹦出的一些想法,记录下来
- 我的编程方向是自动化运维(网络,虚拟化方向),所以前端后端数据库都会有所涉及
- 工作中是主要的编程实践,平时主要会补计算机的一些基础,所以也会有一些学习思考
特别的书籍推荐
- 《程序员的自我修养》作者:陈逸鹤
编程的理解
- 作为一位编程人员,我觉得就是在不断否定自己的过程中获得成长的,自己的代码需要一遍又一遍的审视。我也在努力做到这一点,一方面需要借助大牛的观点来帮助自己提升对代码大的结构上的认知,一方面需要敦促自己不断优化细节,达到更好的效果
- 我觉得借助工具,了解工具,能让工作更有效率,比如你的代码编辑器,编程的一些小技巧等等。我经常使用的是 JetBrains 公司出品的编辑器系列,涵盖大多数程序语言,里面的功能很多,就像一座宝藏一样,可以不断的挖掘,但缺点是太耗内存
- 从大的层面上来说,我们编程主要就是把好的想法实现出来,并且不断优化。这里包含三个方面,想法,实现,优化,个人觉得想法与优化是非常难的事情,是区分程序员的重要标准。
- 很多东西你需要知道它的存在,你才能去了解它,这个关乎视野与眼界的问题,这个世界上有很多天才,要学会借天才之力,比如看书,比如和大牛在一起工作
- 正确认识自己,正确认识这个世界,虽说这个话题与编程距离比较远,但我觉得非常重要,人是一种社会化动物,会潜移默化地受到世界的影响,人——才是所有问题的根源,很多成功学与心灵鸡汤都在强调这一点,比如拥有坚定的信念才能获得成功,这个话题很宽泛,也很深奥
编程常见问题类
1. 怎么才能让自己的代码最优?
- 我觉得这个问题需要我不断地追寻,将这个问题简化为几个方面
- 什么是最优的
- 如何达到最优
- 如何判断是最优的
前端是我最不擅长的领域,但同时也是我最好奇的领域,因为世界的缤纷从这里开始,我将从前端的角度出发,思考这一系列问题
- 从某些方面来说,知道什么是最优的可能是我目前(2019)最大的问题和障碍,我不知道好的页面和构思是怎么来的,唯一的就是我的感官判断,觉得好看,但我发现一个问题,当别人编写的页面,我能很客观的判断,但当我自己观察自己的页面时,我发现我的审美能力在直线下降,最要紧的是整个页面的布局和整体结构上,我对此能力非常缺乏,大多数情况下,都在模仿,也可以被叫做抄袭。好的作者都是模仿开始的,我不否认,但我觉得只有当自己有自己的观点,形成自己的风格的时候才能真正领悟其中的奥秘。这一方面当然也是可以学习的
- 达到最优的情况是其中的核心部分,将该问题继续分解为几个方面,如何平衡时间,
2. 代码的世界那么广,怎样脚踏实地地学习
- 最近考完RHCE,但是感觉对linux的了解并没有更深,反而陷入了一种什么都想干,又什么都无法深入学习的困境
- 尤其是工作中自己承担的功能比较杂,每样都需要不断地学,感觉自己的好奇心在不断膨胀,对每样新事物都浅尝辄止
- 脑子里不断会想起,知乎的那些前辈说的,技术在精,不在广
- 这种纠结的复杂心情,决定暂时放下工作,仔细思考前进的方向与自己最终想要成为的人
- 多希望有位大师能够指点迷津,不然在这团迷雾中转圈,不知何时才能出来
- 如何摆脱繁杂的工作,抽出身来潜心学习,最近一直在思考
- 人的时间大部分被工作与睡眠占据,仿佛失去了生活的本来面纱和意义,我觉得我只是在生存,而不是在生活
- 现如今,商家纷纷打广告,叫我们不要抑制自己的欲望,想买就买,可仔细一想,我们的钱都去哪里了
- 区别生存还是生活,除了自己的心境外,还有一个很大的因素就是有没有钱,就像败者的话没人能记住一样
- 把钱花出去了,就相当于把生活的主动权给别人了,有心境又怎样,控制权在别人手里,生活就无法自我把控
- 我们不仅要和别人斗争,还需要和自己的潜意识和本能斗争,斡旋于两者之间
- 我想赚钱,我想有好身材,还想要知识渊博,逢考必过,还想要一个漂亮合适的女朋友,还想从工作中获取快乐,那种源源不断,充实的快乐
- 可现实有点残酷,最近经历了很多社会的黑暗现象,回想起小时候被霸凌的时候,那种无助和期望别人善良的心态,现在社会不会直接对你施以暴力,而是以一种无形的,从各个方面对你施以压力的方式进行压迫
- 有时候看到图书馆那些努力上进的人都很害怕,这些人说不定哪天就与你竞争,或者成为你的老板,都是有可能发生的事
- 活着好痛苦呀,好悲观,好消极
3. 代码生产环境问题
- 最近工作中碰到了一个问题,生产和测试开发环境的不一致,而且没有完整的项目管理,很有可能导致,出现了
c
bug,然后去修改代码,在开发环境中改完了该bug后,很害怕会改动到其他地方,尤其是一些git无法监控的一些东西
编程的良好习惯
Git 篇
- git 提交前,仔细确认所有更改的东西,避免提交错误的东西
- 谨慎使用
git add -A
或者git add .
或者git commit -a -m
团队合作
- 如果要将代码更新到生产环境时,请询问团队成员有没有新增的版本要提交
- 不要过多地炫耀自己的技能
- 清晰的任务分工和好心帮助之间需要明白这两者的界限
- 说到要做到,在很多地方都是这样,别人对你的印象在团队合作中很重要
代码编写
- 代码编写能力分为编程功底和业务熟悉,编程功底更为重要
- 写代码需要从用户的需求出发,以用户的评价作为非常重要的标准
- 改写代码时,需要谨慎小心,避免修改到其他地方
- 写完后,在提交git之前,请先测试和检查好
- 在功能优秀和稳定运行两者之间,稳定运行是基础,请先保证程序稳定运行
交流
- 清晰的逻辑表达能力是交流的基础,如果做不到,请先准备一张小纸条,写下你要说的话
- 说话带敬语不代表低声下气,而是礼貌和有素养
- 说话时要饱满有力,不是声音大哦
碰到的困难
- 使用到一个 uwsgi 服务器相关的库时,出现了一些难以解决的问题,最近在查看官方文档,一边看文档,一边用代码实验,测试效果