🚀 个人主页 极客小俊
✍🏻 作者简介:web开发者、设计师、技术分享博主
🐋 希望大家多多支持一下, 我们一起进步!😄
🏅 如果文章对你有帮助的话,欢迎评论 💬点赞👍🏻 收藏 📂加关注
摘要
养成一个学习习惯和编程习惯真的太重要了,一个好习惯的养成真的对后面的学习有很大帮助
下面是一些我觉得还不错的编程好习惯,希望对小伙伴有帮助
正确提问
我们平时任何时候都离不开提问特别是初学的时候,但是真正知道如何正确的提问的人很少。问别人问题前不要来一句“在吗”,你说你问了在吗我是回复好还是不回复好呢 ?不要让别人给你发 32 位的 JDK,除非你是喜欢那个人。
如何提问
我遇到过很多让我无语或者头疼的问题,也遇到让我很欢喜想要去耐心解答的问题,总的来说,会提问的人还是太少了。
为此我也查阅了网上的一些相关资料,下面给大家分享一下我对如何提问的看法。
下面我总结了一些经常被问到的一些问题,我暂且将它们分为:“稍微正常”和“不那么好”这两类。
我觉得稍微正常点的问题(还算正常的问题,但提问方式有待改善):
1.如何学习什么?
2.什么该如何入门?
3.什么问题如何解决?
4.什么内容你能给我解释一下吗?
5.如何找到一个让自己满意的工作?
6.简介该如何写?
7.初学什么什么东西技术有哪些书籍推荐呢?
我觉得不那么好的问题(让人讨厌的问题):
1. 什么软件可以发一下、我能在哪找到 什么什么程序 或 什么什么 资源?(一般被提问者内心:难道不会 Google?最不济应该也会百度吧!)
2. 什么环境变量怎么配置啊( Google?百度?)
3. 随便截个bug图,然后扔下一句话:“这是什么题”(一般被提问者内心OS:你随便截个图问我,我自己不就是从这个时候过来的吗,是不是应该把 stackoverflow 推荐给他!
4. 我怎么才能破解 root 帐号/窃取 OP 特权/读别人的邮件呢?(一般被提问者内心OS:想要这样做,说明了你是个卑鄙小人;想找个别人帮你,说明你是个白痴!)
......
提问存在很明显的问题就是:没有把自己的问题描述清楚,问一些过于”低级“的问题,并且最重要是有些人态度还不好, 所以我一般的回答就是:”这些问题你直接百度/Google 最好“,
你可能是刚入门,需要别人帮助你回答一些疑问,但是请你问问题之前自己先做下功课ok!
所以想让大家意识到会提问真的很重要,同时也是告诫自己以后要注意自己的提问方式。
下面说一下我觉得比较好的提问方式或者说是高效提问方式:
最重要的就是遇到问题之前首先 Google!很多时候你花半个小时到处问问题,你 Google 一下可能 10 分钟就解决了。
有问题直接问,不要给别人来句“在吗”或者“有时间吗”这类话(我觉得我还算脾气很好的,每天都会遇到这类人,每天都不耐烦的回答,但直接说明自己的问题或者请求不是更好吗?)。
问别人问题之前自己先做一些功课,不要一上来就问一下很 Low 的问题,让别人对你的印象不好
问问题的时候尽量添加一些上下文信息,比如说:你为什么问这些问题,这些问题出现在什么情况下等等。
你可以先说明一下自己对于这些问题的看法,你准备如何解决,你做过哪些尝试,你期待对方给你什么样的回答。
缩小你的问题的范围,越是范围小而清晰的问题越容易回答。
最后,再分享一下有些我觉得比较好的提问网站:
国内: segmentfault、知乎
国外: stackoverflow
stackoverflow 不光可以给回答打分还可以给问题本身打分,我觉得这点很不错,最重要的是 stackoverflow 主要是程序员问答,你遇到的很多程序问题在这里应该都有其他人遇到过
健康
我一直觉得这一方面是最重要的,我想很多人和我一样会无意识间忽略它,等到真的身体不舒服了,你才开始意识到健康生活的重要性。
- 除非万不得已,不要熬夜了。熬夜的危害就不用多说了,秃头加内分泌失调,你懂得!
- 看电脑45分钟之后,起来走5分钟,看看远方放松一下。不要觉得这5分钟浪费时间,相反,这5分钟可能为你带来更大的效率提升。
- 可以考虑买一个电脑架子,保护好自己脊椎的同时,办公体验也会提升很多。
- 可以下载一个护眼宝,感觉可以护眼模式挺棒的,非常适合我们这种需要经常盯着电脑的人使用
高效搜索
尽量用 google baidu 查找技术资料以及自己在学习中遇到的一些问题。
解决 bug问题
程序遇到问题先在 stackoverflow 找找,大部分别人已经遇到过了。
如果上面没有的话,再考虑其他解决办法。实在解决不了的话,再去问你觉得有能力帮你解决的人
(注意描述好自己的问题,不要随便截一个Bug 图)。
善于总结
学习完任何一门知识后,你可能当时看视频感觉老师讲的挺容易懂的。但是,过几天后你发现你忘的一干二净,别人问你一个类似的问题,你一点思路都没有。所以,我推荐你学完一门知识后不光要及时复习,还要做好总结,让知识形成一个体系。另外,你可以假想自己要给别人讲这个知识点,你能不能把这个知识点讲清楚呢?如果不能,说明你对这个知识点还没有彻底了解。这也就是人们经常说的费曼学习法则!
总结的方式:
- 有道云笔记、OneNote…这类专门用来记录笔记的软件上
- 思维导图、markdown文档
- 通过写博客输出。可以考虑自己搭建一个博客(hexo+GithubPages非常简单),你也可以在简书、掘金…等等技术交流社区写博客.
写博客
写博客有哪些好处:
- 对知识有更加深的认识,让自己的知识体系更加完整;
- 督促自己学习;
- 可能会带来不错的经济收入;
- 提升个人影响力;
- 拥有更多机会;
…总的来说,写博客是一件利己利彼的事情。你可能会从中收获到很多东西,你写的东西也可能对别人也有很大的帮助。但是,写博客还是比较耗费自己时间的,你需要和工作做好权衡。
任何行业都不是靠单打独斗的,写博客、写好博客是一个程序员很好的习惯。我为人人,人人为我!
你可以先从CSDN
开始,CSDN
我认为是新手写博客最好的社区平台, 没有之一!!
多用 Github
没事多去Github转转,如果有能力可以参与到一些开源项目中。多看看别人开源的优秀项目,看看别人的代码和设计思路,看的多了,你的编程思想也会慢慢得到提升。除了这些优秀的开源项目之外,Github上面还有很多不错的开源文档、开源资料什么的,我觉得对我们平时学习都挺有帮助。Github用得好还能装一下,毕竟人家还是一个全英文网站
实践项目经验
多去实践,将学到的东西运用到实际项目中去。很多人都找我抱怨过没有实际项目让自己去做,怎么能有项目经验呢?如果实在没有实际项目让你去做,我觉得你可以通过下面几种方式:
在网上找一个符合自己能力与找工作需求的实战项目视频或者博客跟着别人一起做。
做的过程中,你要有自己的思考,不要浅尝辄止,对于很多知识点,别人的讲解可能只是满足项目就够了,你自己想多点知识的话,对于重要的知识点就要自己学会去往深入学习。Github
或者码云
上面有很多实战类别项目,你可以选择一个来研究,为了让自己对这个项目更加理解,在理解原有代码的基础上,你可以对原有项目进行改进或者增加功能。
自己动手去做一个自己想完成的东西,遇到不会的东西就临时去学,现学现卖, 我就是如此起家的!
注意代码规范
从学习编程的第一天起就要养成不错的编码习惯,包、类、方法/函数、变量的命名这些是最基本的。
沟通能力
程序员也离不开沟通。你可能需要与客户交流需求,还要和同事交流项目问题,还有可能定期需要向领导汇报项目进展情况。所以,我觉得不错的沟通能力也是一个优秀的程序员应该有的基本素质。