❶ 我是程序员,敲代码时间长了,有时会出现手指活动不灵活的现象,怎么办
学习一下《朱砂掌》里面有关于练习和手相关运动的。。。
❷ 为什么大家都说程序员需要好键盘
一般我们只要是到网络公司去观察一下,写代码的程序员都应该是自带键盘的,而且都是价值非常昂贵的机械键盘,一把键盘的价格都在百元以上,有的甚至要上千元,那为什么程序员就必须需要一把好键盘呢?
首先我们应该了解一下键盘的种类,大致在市面上能看到的键盘一般分成两种,一种就是我们最常见的薄膜键盘,而另外一种就是广受文字爱好者所欢迎的机械键盘,一般我们在市面上能看到的几十块一把的低端键盘,或者办公键盘都是薄膜键盘,在键盘的内部没有什么机械结构,只有一个薄膜的电路板和触电,相对来说成本较低,而且键盘非常轻薄,但是没有什么手感,对于需要大量键盘录入的程序工作者来说,薄膜键盘明显不能适用于程序员,虽然薄膜键盘轻薄,但是手感全无,手指按压没有段落感,在打字的过程当中长期的按压会造成或多或少的误触,加上薄膜键盘的特性,所以在快速按键的过程中很容易会出现串键等情况,这对于一个写代码不能出错的程序员来说简直就是灾难,如果要为这一个字母的错误,在几千行的代码中寻找。是多么痛苦的一件事情。而价格昂贵一点的机械键盘就不一样了,每个按键独立的机械结构完全不存在键盘的误触与串键方面的问题,加上机械结构的按键使得手指每一次按下去都存在段落感,手感极佳。
而且一般薄膜键盘在长期使用之后,内部的电路板发生氧化,手指敲击键盘的力度就会需要不断的上升,这也需要使用者不断的调整使用键盘的习惯,造成了非常不便的影响。而机械键盘就完全不存在这样的情况。有的人会说,机械键盘由于结构上的原因,在打字的时候会有噼噼啪啪的响声,影响打字者的思考,但是一般的程序员在打代码的时候都是已经考虑好了,只需要机械化的输入,清脆的按键声还哦能带来更愉悦的享受,所以这个方面的问题基本上是不存在的。
所以程序员是绝对需要一款好的键盘来装备自己的,但是如果你是一个需要在打字的时候思考的文字工作者,那么更加高端的静电容键盘更加的时候你,结合了机械键盘的手感,而且由于没有触电,也不会产生噼噼啪啪的噪声,当然价格方面也是相当的昂贵。
❸ 程序员这个工作有哪些职业病
程序员有很多职业病,比如说颈椎病、鼠标手、驼背、干眼症等等。
三、皮肤干燥是绝大部分程序员都会存在的皮肤问题,比如说青春痘、过敏等,因为程序员长期需要熬夜,而且电脑上由于静电的影响经常会吸附很多的灰尘,久而久之就会造成皮肤干燥、过敏等症状。背部问题也是常见的职业病,主要表现在驼背,因为在写代码的时候需要长时间保持一个姿势,而且很多程序员都没有养成良好的坐姿,这样就会出现脊背弯曲,所以当一名程序员一定要养成良好的习惯,才能让职业病远离你。
❹ 上班族和程序员大大们,分享一下,鼠标键盘用的太多导致的手指关节疼痛怎么解决
鼠标手造成的指关节疼痛,不是一朝一夕形成的。同样,也不可能一下子就可以改善得了。
平时自己要多注意,久不久就要刻意去活动一下自己用鼠标这只手的指关节。
可以两手相扣,做对向的圆周活动;再就是用左手来帮助右手做指关节的局部活动。
❺ 程序员的手是不是都容易得鼠标病啊怎么预防呢
呵呵,这个问题问的很实在。鼠标病又叫鼠标手,常用电脑的话当然是难免的。对此,专业医生的作答是:长期使用电脑和鼠标,容易得鼠标手(即腕关节综合征)。
其致病原因是,长期使用电脑键盘和鼠标,可能与一种称为腕关节综合征的疾病有关,出现食指或中指疼痛、麻木和拇指肌肉无力感,发展下去可能导致神经受损,进而引起手部肌肉萎缩。问题出在每天重复在键盘上打字或移动鼠标,手腕关节长期、密集、反复和过度活动,导致周围神经损伤或受压迫,使神经传导被阻断,从而造成手掌的感觉与运动发生障碍。另外,肘部经常低于手腕,而手高高地抬着,神经和肌腱经常被压迫,手就会开始发麻,手指失去灵活性,经常关节痛。手指频繁地用力,还会使手及相关部位的神经、肌肉因过度疲劳而受损,造成缺血缺氧而出现麻木等一系列症状。据调查,女性发生“鼠标手”比男性多,这是因为女性手腕通常比男性小,腕部正中神经容易受到压迫。
缓解方法:
1. 尽量避免上肢长时间处于固定、机械而频繁活动的工作状态下,使用鼠标或打字时,每工作一小时就要起身活动活动肢体,做一些握拳、捏指等放松手指的动作。
2. 使用电脑时,电脑桌上的键盘和鼠标的高度,最好低于坐着时的肘部高度,这样有利于减少操作电脑时对手腕的腱鞘等部位的损伤。
3. 使用鼠标时,手臂不要悬空,以减轻手腕的压力,移动鼠标时不要用腕力而尽量靠臂力做,减少手腕受力。
4. 不要过于用力敲打键盘及鼠标的按键,用力轻松适中为好。
5. 鼠标最好选用弧度大、接触面宽的,有助力的分散。
6. 使用鼠标时配合使用“鼠标腕垫”垫在手腕处。
7.业余时间应该多多参加活动和运动,特别是上肢运动和伸展运动。
动作1:用手表做辅助器械,按顺时针和逆时针转动手腕25次。
功效:缓解手腕肌肉酸痛感觉。
动作2:手握带有负重的水瓶,首先手掌向上握水瓶,做从自然下垂到向上抬起动作,然后是手掌向下握水瓶,做从下到上的运动,各25次,锻炼腕屈肌。
功效:防治腕关节骨刺增生,增强手腕力量。
动作3:舒展身体各部位时,也要用力展开双手的五指,每次20至30秒钟,做2至3次。
功效:增强关节抵抗力,促进血液循环。
动作4:吸足气用力握拳,用力吐气,同时急速依次伸开小指、无名指、中指、食指。左右手各做10次。
功效:锻炼手部骨节,舒缓僵硬状态。
动作5:用一只手的食指和拇指揉捏另一手手指,从大拇指开始,每指各做10秒钟,平稳呼吸。
功效:促进血液循环,放松身心。
动作6:双手持球(如网球),或持手掌可握住的事物(如水果等),上下翻动手腕各20次。球的重量可依自己力量而定。
功效:增强手腕力量,锻炼肢体协调能力。
动作7:双掌合什,前后运动摩擦致微热。
功效:促进手部的血液循环。
肩部:左手臂向右拉伸时,颈部向左拉伸,注意手臂不要过高,和胸部有一定距离,不要有压迫感。每次保持30秒至45秒,换右手臂
❻ 如何提升程序员的代码编写能力
一、先列三个常见的开发场景:
1、拿到一个模块详细设计文档,大部分程序员的通常做法就是开始搭建界面代码,然后从第一个按钮点击事件或页面Load事件开始写第一行业务代码。写的差不多了,就运行一下,发现哪里不是自己想的那样,就改改,直到改到是自己预想的那样。
2、做完了一个功能模块或几块相关联的功能模块,输入111asd,发现新建正常、保存正常,就提交给测试人员。测试员用测试用数据、测试场景用例来测试,发现有问题,就登记bug。对于严重的影响下一步测试的BUG,测试员就用内部IM通知这个开发人员。对于不影响继续往下测试的BUG,测试员就登记下来,等程序员有空时处理。
3、程序员一般工作不希望大家打扰,所以开发起来就是开发。等手头开发告一段落,就看看BUG库。发现有与自己有关的BUG,就从第一个BUG开始看起。就开始通过IM和测试员掰扯起来(这不是个BUG啊、业务逻辑不是你想的那样啊、我这里不能重现啊、你给的信息描述不清晰啊),于是IM几来几往,甚至跑过去当面交流一番,甚至会拉扯上产品经理一起讨论,更甚者需要项目经理或产品经理发起一个会议来集体讨论一下
这是不是很熟悉呢?这就是大部分程序员开发的三个步骤:写代码、自测、修复BUG。
二、说好的代码设计、代码测试呢?
代码设计?那不是都有开发平台么,已经固化了啊。那不是维护旧功能做完善修改呢么,又不是写新代码,只能在现有代码基础上修改啊,你又不能大幅重构。
代码测试?你丫需求讨论期、产品设计期、设计评审期那么长,都把研发项目时间占光了,就留下2个星期让我们写代码,我们哪里有时间搞那么深的测试。还想让我们搞结对编程?还想让我们搞测试驱动开发?
而且你看测试,什么功能测试、集成测试、性能测试、安全测试、安装部署测试、升级测试、迁移测试、UAT测试,一大堆测试,测试也需要很多时间。
一个项目,需求讨论、产品范围规划与评审、产品设计与设计评审占了一个半月,开发+自测就一个月,测试占了一个半月,这就4个月了啊。
三、为啥程序员写代码总是写写测测?
刚才大家也都看到了,大部分程序员都是从界面代码开始写起,而且写一写,就运行一下看看。为什么会是这种开发方式?
那是因为大部分程序员缺乏在脑子中的整体建模能力。只能做出来一点,真实的感觉一下,然后再往下。
有些是产品经理的上游就有问题,没给出业务流程图(因为产品经理也没做过业务),也没画清楚产品功能操作流程图。
为啥没给出业务流程图?因为产品经理不熟悉业务,另外,产品经理也没有流程建模能力啊。为啥没画清楚产品功能操作流程图啊?因为不会清晰表达流程啊。
很多产品经理、程序员,都缺乏分类、分层、相关、先后能力,更别说总结、洞察能力。
这是基本训练,是一个做事头脑清醒的人必备的技能,这不是一个程序员或产品经理或测试员的特定技能要求。
我经常看书就梳理书的脉络,每看一本就写一篇总结。我过去闲扯淡还梳理过水浒传、红楼梦的人物关系图呢,其实就在事事上训练自己的关联性、层次性、洞察性。
我经常面试一个人时,我会问这样的问题:“你把我刚才说的话复述一遍,另外你再回答一下我为什么会这样?”,其实,我就在看一个人的细心记忆、完整梳理、重现能力,我也在看一个人的梳理、总结、洞察能力。
我个人写代码就喜欢先理解业务流,然后理解数据表关系,然后理解产品功能操作流,大致对功能为何这样设计、功能这样操作会取什么表、插入或更新哪些表,哪些表的状态字段是关键。
然后我写代码的时候,就根据我所理解的业务流、功能操作流、数据输入输出流,定义函数,定义函数的输入与输出。
然后,我会给函数的输入值,赋上一些固定值,跑下来看看能否跑通这几个关联函数,看看还需要怎样的新增函数,或者看看函数的输入输出参数是否满足跑通。
剩下的事,就是我填肉写详细逻辑代码了。
当然,大部分人没我这样的逻辑建模能力。怎么阅读理解也想象不出来,也没法定义函数。毕竟有逻辑建模能力的程序员都很少,100个人里有10个,已经是求爷爷告奶奶好幸运了。
那怎么办呢?
我建议是分离分工配合,这就是现实中没办法的办法。让有逻辑建模能力的人来设计函数框架、来设计工具来设计代码模板,然后让没有逻辑建模能力的人来填肉写详细逻辑代码。
我们可以先从最紧要的模块开始这么做。不紧要的模块,还让它放任自流,让熟练手程序员继续涂抹。
我曾经还让有头脑的程序员做榜样,给大家分享他是怎么规划函数的,怎么做维护性代码的代码结构改善的。但是发现效果并不佳,其他人并没有因此能做代码设计。可能逻辑建模能力是个人的基本素质,是从小到大训练成型的,不是你一个大学已经几年的人能够短时间内可以训练的。
所以啊,还是让能走的人先走,让从最紧要的模块开始这么做。
不必担心这样做后,因为过去一件事被分工(一个做代码框架一个填肉)成两个人做了会降低工作效率。我们很多的工作效率低就是因为半瓶子醋搞出来的,来回反复修改。
真是应了刘德华在电影里说的那句话:说你又不听,听又听不懂,听懂了又不做,做又做不好,做不好还不服气。
四、为什么大部分程序员不做代码测试或白盒测试或单元测试呢?
还是因为没有代码设计。因为没有函数啊。所以,一个按钮功能有多复杂,代码就有多长。我见过2000行的函数,我也见过1000多行的存储过程和视图SQL。怎么做白盒测试啊,这些代码都粘在一起呢,要测,就得从头到尾都得测。
所以啊,先学会设计函数,先写好函数,这就求爷爷告奶奶了。很多开发了5年的熟练手程序员,可能都未必会写函数。
函数的输入输出值就很有讲究。很多人都写死了,随着版本迭代,发现过去定义的函数参数不够用了,于是就新增了一个参数。然后,相关性异常就爆发了,其他关联的地方忘改了,到底哪些有关联,怎么查啊,本系统没有,没准其他系统就调用你了,你根本不知道哪个神经人曾经COPY过你的代码修吧修吧就改成了他的功能呢,而且里面的很多代码他看不懂也不敢删,只要他实现的功能正常了他也不管了。于是,你改了你这个函数,他的系统就莫名出错了。
所以,我一般会定义几个对象来做参数。另外,我也很注重函数的日志、函数的异常保护、异常抛出、异常返回。另外,我也很注重参数输入值的合法性校验。
所以啊,应该开发Leader们先制定函数编写规范最佳实践,输入输出参数怎么定义比较好,函数的返回值如何定义比较好,函数的日志记录应该怎么写比较好,函数的异常保护、异常抛出、异常返回如何写比较好。先教会一般程序员,先从会写函数开始啊。
当然,你光有一份规范,程序员们还是不理解、不实际应用啊。所以,还得Leader们做好典型的代码模板,里面是符合函数规范的代码框架,只有这样,一般程序员们才会照猫画虎适应了函数设计的编程习惯。
所以啊,我专门重新定义了leader的明确职责,其中第一个重要职责就是:负责工具/框架/模板/规范的制定,并且负责推广且普及应用落地。
你不明确定义Leader的这个重要职责,你不对这个职责做明确的KPI考核,谁尿你啊。你以为好的工具/框架/模板/规范是靠人们的热情、自发产生的么?我们还没有那么自觉高尚啊。
五、为什么大部分程序员不写注释啊?
我经常说一句话,千万别多写注释。为啥?
因为我们经常遇到的问题不是没有注释,而是更糟的是,注释和事实代码逻辑是不相符的。这就出现常见问题了:残存下来的设计文档是一个逻辑、注释是一个逻辑说明、真实代码逻辑又是一个,钟表多了,你也不知道正确时间了。
所以啊,产品文档、注释、真实代码,三者总是很难一致同步。我为了几百人研发团队能做到这个同步花了大量心血和办法,但我最终也没解决了这个问题,还把Leader们、总监们、我都搞的精疲力尽。
索性回归到一切一切的本源,代码,就是程序员的唯一产出,是最有效的产出。那么,让代码写的不用注释也能看懂,咱得奔着这个目的走啊。
为啥看不懂,不就是意大利面条式代码么,又长又互相交杂。
OK,我就规定了,每个函数不能超过50行。用这一个简单规定和静态代码检查插件,来逼迫大家尝试着写函数。有的函数属于流程函数,是串起其他函数的,有的函数就是详细实现函数,实现一个且唯一一个明确作用的。
有了流程函数和功能函数,而且每个函数不超过50行,这就比过去容易看懂了。
六、为什么大部分程序员不抽象公共函数啊?
我经常说一句话:千万别抽象公共函数啊。为啥?
因为大部分程序员缺乏抽象洞察能力。特别是有些积极热情有余、爱学习爱看书、半瓶子醋晃悠的二杆子,看了几本UML、重构、设计模式、整洁代码之道,就跃跃欲试了,还真敢给你抽象公共函数了。
一开始,他觉得80%相似,20%不相似,于是在公共函数里面简单写几个if..else做个区隔就可以。没想到,越随着版本迭代,这些功能渐渐越变越不一样了,但是这个代码已经几经人手了,而且这是一个公共函数,谁也不知道牵扯多少,所以谁也不敢大改,发现问题了就加一个if..else判断。
没想到啊没想到,这个本来当初公共的函数,现在变成了系统最大的毒瘤,最复杂的地方,谁也不敢动,除非实在万不得已,手起刀落。
所以,我平时告诫程序员,纯技术的、纯通用的,你们可以尝试搞搞抽象公共函数,对于业务的,你们还是简单粗暴的根据Leader们做的代码模板代码框架,乖乖的复制、修改、填肉吧。
你们啊,先从做模板做代码片段开始吧,咱们放到咱们内部代码片段开源库里,看谁的代码片段被别人复制的多,说明你的代码抽象设计能力越好了。那时候,我就大胆放心让你撒丫子跑了。在没有学会跑之前,给老子乖乖的复制、修改、填肉吧。