Ⅰ 为什么程序员的思维很难理解
1、程序员的思维比普通人要严谨。
对编程有一定了解的人都能理解这一点,一是一二是二,电脑不认模棱两可的回答,因为“模棱两可意味着更多的可能答案”,所以你跟程序员交谈的时候,如果你问他“为什么要这样问”或“你为什么听不懂”,你就会知道你自己的描述有多么的不严谨了。
最简单的例子,你妈妈让你去市场买水果,如果看到有苹果就买一个苹果,看到梨就买两个。你看到市场有苹果和梨,你会买什么回家?
首先给出一个大前提,在程序上不存在“潜台词”或者“潜规则”这种东西,唯一起作用的只有“字面意思”。
一般人肯定是买一个苹果和两个梨。当然程序员也不是脑子有坑,以一个正常人的思维考虑也会买一个苹果和两个梨,但是看到这问题的第一个瞬间的直觉反应,却是“如果看到梨就买两个苹果”。这个问题不存在潜台词,所以所有人都会直接从字面理解老妈的意图。
按照程序的逻辑分析,这句话共分为两个部分,代表两个程序任务。“如果看到有苹果就买两个苹果”为任务一,条件是“看到有苹果”,目标对象“买苹果”,数量“一个”;“如果看到有梨就买两个”为任务二,条件是“看到有梨”,数量“两个”,没有给出新的目标对象。
因此按照程序逻辑来讲,第二句话将继承上一个目标对象,也就是“买苹果”,所以这句话被看起来像职业病一样的思维直接翻译成了“如果看到有苹果就买一个苹果,如果看到有梨就买两个苹果。”
————————————————————
2、程序员看问题比一般人透彻。
这是职业特性导致的,因为电脑编程的严谨性,因此程序员面对一个问题、一个需要实现的目标或者一个bug时,他会思考更底层的问题,并且会习惯性采用归纳法来尽量避免以后可能遇到同样的问题。
比如用输入法输入中文的词句,有的时候打出了一串拼音,然后按下数字2选取发现不是自己想要的词,然后发觉数字1对应的才是自己想要的,删掉,重新输入拼音,这次按下数字1的瞬间却发现两个词的位置调换了,于是又删掉重新键入,这次认真地看了看,终于选对了想要的词的序号。
这个时候你会说,啊,我下次应该更小心一点,不要马虎大意想当然,看清楚了再点。
程序员不这么想,他会想,导致这个问题的看来是输入法的“词语顺序自动调整”功能,他会自动监测使用者输入的各种词语的频率,来自动调整词语的顺序,底层代码实现的逻辑很简单,每个不同的词对应一个从输入法安装到现在的输入次数的计数器,直接按计数器排列顺序就好了;也有的输入法会监测你输入后是否会将其删掉,那么这时候会被智能识别为打错字,计数器不会加一。
然后再一思考,这种功能一般都是可以开关的,如果我想要靠记忆记住顺序使用而不用输入法自动调整的话,比如对汉字输入的速度有一定要求需要考记忆记住汉字序号,我只需要进入输入法设置将其关掉即可;如果我想要它帮助我调整词句位置,但是又不需要频繁地调整,那么在我有工作需要的时候我会提前关掉,平时开启即可;而如果我想单纯依赖这一功能,那就不用管它,下次看清楚再选就好了。
Ⅱ 好累,程序员听不懂产品经理提的需求,问多了,产品经理嫌烦。该怎么办
在我们公司面对产品经理提的需求,我们都有统一的回复:
Ⅲ 刚入职的Java程序员,怎样去看公司的项目,看不懂怎么办
首先你入职的是什么等级,一般来说公司都有等级的划分比如:初级 中级 高级软件开发工程师。
一般进公司都会给你一个星期的适应期,在这适应期你必须做好理解业务,理解公司文化,理解架构等。
如果你是初级 会有项目经理指导你核心问题。建议不要问的太频繁,毕竟招你进来是解决问题的,不是制造问题,看不懂,主要是哪里看不懂,代码都是通过业务来写的,你如果看到业务代码不懂可以直接先看prd或者产品文档,接口文档等一切可以梳理业务逻辑的代码,如果有技术问题,可以大方的问你的项目经理,他会告诉你的。
如果是中级,成本就不一样了,所以你的基础必须要扎实,一些消息队列(rabbitmq,activemq等),nosql(redis,mongo等),分布式(spring cloud,bbo等),db(mysql等)。一般来说都够了,再不懂的也可以问项目经理,毕竟是中级。
如果是高级,那完全都不用说了,基本什么都懂了,框架类的都是浮云,业务逻辑随随便便看看就好了,而且一般打代码也很少了,主要是框架类的维护。
当然了,如果你是实习生,就相当于打打杂了,他会安排你学习什么,然后修补一下bug,让你有独立性,所以不用担心。不过也少说多做。
纯手打,工作经验累积出来,如不喜欢,勿喷。谢谢!
Ⅳ 我刚做程序员,觉得很多都不会,怎么办
我现在和你是同样的处境 刚到公司 入职吹自己有两年工作经验 而且自己知道哪有什么工作经验 一个培训机构出来的学了半年 接手一个项目感觉头都快炸了 感觉自己学的完全用不到 每天看代码研究能看懂一点是一点 现在项目进度没一点我都快奔溃了 现在想辞职但是我的考虑自己的亲人,所以一直在纠结很难受,每天晚上都在想我能干什么,我到底要如何去学,怎么学 怎么赶进度。