一个程序员的人生应该是怎么样的?

最近参加了工作,表示之前一直幻想着买彩票中大奖,然后什么都不干,每天在家,找个女朋友,她上班我负责创业赚钱。
理想很丰富但是现实很苍白,买彩票中了三次四个号全中,但是都没有中大奖
我也认识到了一个道理,如果你买彩票中大奖,就相当于赚了中等白领100年才赚到的钱,所以你想啊,中大奖是那么容易的吗?
所以我沉下心来,不如学好程序员的本领,以后还可以创业赚钱,说不定比彩票中大奖赚的钱更多
是的,我是个财迷
我每天都想着如何赚大钱,然而,赚大钱不是不可能,只是需要时间
我不需要你每天拿技术说事,说一堆乱七八糟但是可能一辈子都用不到的技术,我说的就是实实在在的技术
程序员该如何提升自己的技术?
通过工作,我发现一个好的程序员,应该做到以下几点,后面还会补充,这些只是代码方面的

第一点要熟悉ide,要熟悉快捷键,要熟悉大量的关于ide的技巧,如果你不会快捷键,不知道插件,不要说自己熟悉ide

第二点,你要熟悉代码规范,php文件常格式化,phpstorm的ctrl+alt+l键格式化源代码,html文件的标签闭合,html的lang属性为zh-CN,js代码的函数方法空一行,html中不要有空行,空行和缩进包括闭合都做到滴水不漏,代码规范也是属于编程本领的一种了

第三点,你要会看代码,要会做笔记,要熟悉svn和git的操作,要知道怎么提交的,怎么忽略一些提交,要会写提交做了哪些内容

第四点,你要会写注释,创建文件时的注释,/**回车自动生成的注释,例如phpstorm,要详细说明类是做什么的,这个方法是做什么的

第五点,很多实用性的东西即使这时用的到,但是下时就不一定能用得到了,但是尽管如此,尽可能多做些笔记,把这些实用性很强的代码记下来,比如es6的反撇号是怎么用的,主要可以用来干什么,字符串拼接,和可以使用函数。

比如tp和php的{$varname}{$varname | func}可以直接用到js的变量名上
作为一个js变量,比如变量名后可以跟一个php方法,比如反撇号内可以跟js方法。
比如tp的view('',['pageDesc'=>json_encode(['tip'=>'提示'])])
使用{$pageDesc.tip}会报错,因为这是一个json
而如果是数组则可以,所以tp没法直接处理json的php变量
但是var pageDesc={$pageDesc}
后js得到了这个json再pageDesc.tip就可以了
这其中也可以{$pageDesc | func}加上自定义的php方法处理

第六点:变量名,类名,函数名,文件名一定要最符合贴近业务系统的整体业务,比如情况condition,case,status,situation,如果是正规性的,流程化的就用第一个condition,如果偏向于人文的用situation,技术化的用case,状态化的用status,这个一定要有一个词典,去查自己的业务系统对应的业务的单词是什么,选出最贴合业务语义和意境的,最合适的那个,一定要精挑细选出最符合语义和情景的。有的比如project,可以用缩写prj,根据情况来决定是否使用缩写,另外就是下划线命名和驼峰式命名,哪里是用下划线,哪里是用驼峰,哪里是两者之间互转的都要使用的适当

额外的几点
第一点:控制器该怎么设置,你确定很多功能都写到一个控制器中吗?在我自己设计功能节点时,大佬详细告诉过我控制器要怎么弄,如果功能比较复杂,或者说会扩充,那么tp最好用二级目录,比如
这只是一个支撑页,如果有选项卡怎么办?

index/school.course.index/index
选项卡页不需要特别的写功能节点,而是支撑页包含的内容,可以判断一个pageFlag对应的就是a操作,包含不同的模板文件即可,在选项卡切换时根据这个pageFlag,包含不同的模板页面,那么其实有没有这个url都是可以的吗?反正都是index控制器,这个我暂时不清楚
index/school.course.index/simple
index/school.course.index/complex

比如有左侧导航,左侧导航的其中一项写到detail控制器中和其他的控制器中,对应的按钮保存就是这个控制器的save操作,其余左侧导航项可以写到teacher控制器中和teacher下的各个操作
index/school.course.detail/index
index/school.course.detail/save

第二点:现在的网站系统包括软件系统的一个大概都是怎么设计的,都是通过自下而上的方法设计的,也就是说一开始的时候,你不需要去设计一个容器,一个代码的架构,而是你要先确定业务流程,业务范围,业务逻辑,或者是内容形式,内容形态,内容意境。然后你再去考虑设计整个系统,整个数据库,或者是整个文章结构分类和标签,都是通过先确定深处内部的内容,再确定包括着的外壳。
比如你买一个水杯,首先你随便买一个,小了怎么办?太大了怎么办?你肯定是得先知道自己喝水量是多少,自己喜欢玻璃杯还是塑料杯,是用来泡茶的还是用来泡咖啡的,买不买调咖啡味的勺子,勺子是什么样的,这些就是你的需求,你的业务流程,你的内容,只有这些确定了,你才可以去买水杯,买几个,几个不同的还是几个相同的 ,也是根据你的需求来定的,这些都是下的内容,有了下的内容才可以确定上

第三点:一名好的程序员要保持一个好的坐姿,要会一套眼保健操按摩眼睛的本领,最好是会冥想,最好是自己搭建一个博客,如果带点商业气息就更好了(也就是能赚到钱),一般付费的,按年付费,最便宜的一年也就才200多元,完全可以负担的起,所以,尽量自己去搞一套个人博客

你可能感兴趣的:(软技能)