编程笔记·开篇

    2023年9月,经过一夜的辗转难眠,最后在一个清晨,我坐上了久违的地铁🚇开启了新的一页。

            想要说的有很多,为什么换工作、在哪个城市上班、IT互联网行情、最后的归宿等等,这些也许会写在以后的备忘录里,目前不展开,有不清楚的可以在评论区,或者私信问我,笔者目前在武汉,.NET全栈开发,鉴于最近工作所感,决定仿照三叔的某某笔记写一个系列的文章,记录编程生活。

    不像三叔的笔记里分南北两派,编程分很多语言,Python、C、C++、Java、C#、JavaScript等等,记记得我刚入编程那会儿, 经常看到这样的段子,“如何一句话让程序员在群里吵起来?”,“某某语言是世界上最好的语言”,甚至当我敲出这几个字的时候,我都能预想到届时有人看到我的笔记,心中也会有默认的第一吧。

    前面里的几种语言,按照2023年9月排行榜依次列举,每年或者每隔一些年会有一些变化,如下图所示:

    我所学的是C#语言,.NET B/S方向的全栈开发,说起来有点绕,又是C#,又是.NET,另外还有ASP.NET,.NET Core,吧啦吧啦一大堆,后文就统称.NET了,微软开发的,能做很多事,目前跨平台,.NET本身其实很优秀,历史原因导致现今在国内生态不如Java等语言,从培训机构到企业使用率,实话说有些堪忧,不过相比现在日益激烈的编程就业市场,如果不想去卷Java等语言,学学.NET找个中小公司呆着其实也很不错,据我了解,.NET在医院、工厂等地方使用频率还是挺多的。话说回来,.NET在国内不吃香,所以也不力推什么的了,本系列主要讲编程过程中遇到的一些事,所以就不议论这些。

    俗话说,工欲善其事,必先利其器,9月初在入职的第一天,我就开始在电脑上安装环境了,是件简单的事,但是细看还是有一些小门道,以.NET开发为例,这里列一下软件清单:

    源代码管理工具。

    1、TFS。公司不同,用的工具也不相同,当初入这行时,公司用的TFS,微软自家的源代码管理工具,集中式源代码控制,可以很好的在VisualStudio中集成。

    2、GIT。由于集中式有些不方便,经常会遇到多个人修改同一个文件,而TFS会签出当前用户修改的文件,占用,另外一个人此时无法修改,需要当前用户提交这个文件才行,所以分布式源代码控制工具GIT就出来了。

    3、SVN。和TFS类似,集中式源代码控制,现在入职的这家公司就是用的这个。

    这里小结一下,按照流行度,GIT毫无疑问是用得最多的,很多人在用的也是这个,近些年我也是用的GIT,本身没有什么问题,不过在入职的时候还是除了点小插曲,公司用的SVN,几年前用过,忘了安装哪个包,以及提交流程等等,导致有些猝不及防,这里要说的是,不管自己更熟悉哪款,公司用什么的时候,需要最快掌握,好在后面找到安装包以后熟悉的界面又拉起过去的记忆了。

    除却公司用到SVN,另外一点值得一提的是,有时候集中式管理也是有好处的,对于GIT不熟练,以及编程习惯不好的人而言, 乱提交、覆盖他人代码,这种行为是极其恶劣的,有的人提交代码之前不拉取最新,合并的时候只考虑用自己本地文件覆盖远程, 别人辛辛苦苦写的代码付之一炬,一般提交完代码,如果不是刚好测到那里,很少会去想到有人把自己的代码搞没了,之所以对这个印象深刻,是遇到过这种同事,跟他合作开发一个项目,自己写的代码不定期会“消失”一部分,算是极其恐怖了。而集中式源代码管理,当我方签出某些文件,对方会因为文件被锁住而无法更改,强制要求一方提交一方获取,就会好很多。

    开发工具。

    1、VisualStudio。这里不指定版本,一般默认安装当前年度最新,如果有要求指定版本的,则安装指定版本,主要是为了预防写了一些新语法,在其他的老版本上不支持。这个工具对于干.NET开发的可以称之为第一IDE了,集成了很多功能,每年都在更新,很强大!

    2、SQL Server。分服务端和客户端,当初入编程这行安装2012的时候,一步到位,后来不知道从什么时候起,在微软官网找包装时,有一次安装了却没有快捷方式,后来才知道是安装了服务器端,没有安装客户端,所以找不到那个入口。这个设计现在在其他软件里也能看到,比如TFS服务端和客户端、docker引擎和docker桌面等等,一门通,万法通,有时候多学多看,触类旁通,还是有道理的。

    3、IIS管理器。编码、数据存储都有了,最后写完代码要发布,.NET系最常规的做法就是部署到IIS里,所以这个要提前安装好。

    三件套齐活了以后写代码基本OK,还有一些其他的就不再列举,比如源代码工具、反编译工具、接口测试工具等等,自行梳理和安装,在入职的时候,我是咨询了主管团队用了哪些,然后我逐个安装的,另外,最好也问一下用到了哪些插件,一并安装。

    

    关于环境,不同公司也有不同标准和流程,甚至一些定制化工具,即便是工作8年的我,入职新公司时,在拿到代码后,想把代码运行起来,也并非一件易事。涉及机密以及业务的方面在本篇以后以后的篇章中都不会提及,只需要知道代码是加密的就行,之前倒是没有遇到过这种, 所以刚开始束手束脚,不过也正常,这些和技术无关,定制化的、自己不熟悉的,主管讲完一遍之后自己记住,下次自己操作即可,这里要重点说的是,如果你对代码、架构、业务等方面有任何不熟悉的,都要利用好“新人保护期”,有的三天,有的七天,有的更长,在这期间任何不懂的,不熟悉的一定要直接咨询,因为到后面,大家因为各自在忙,不会再那么耐心照顾你了。最直观的就是,在公司电脑上本地跑项目,遇到任何一个环节卡住,都要找人解决,不要投机取巧的跳过,在这方面我就吃过小亏,想着快点运行起来,忽略一些因素,最后导致在走某个流程时,无法进行下一步,等再去问时,已经过了安排的培训时间节点,大家都在忙自己的事情,也不那么好问了。所以在初始化时,要一步到位,这样后面的麻烦会少一些。

    另外,好记性不如烂笔头,多做笔记,Windows系统的可以利用好便签,速记别人说的一些重点,如果你经常遇到别人讲的听得懂,事后就忘或者容易漏,那么不要错过便签。进阶一点的,画个思维导图,形成笔记, 记业务也好,记项目中要注意的事项也好,思维导图的方式很利于记忆和复习。 

 

    好了,开篇就写到这里,一些前因后果,以及环境和注意事项的交代,后续就是做项目以及修改bug时候的重点记录。我是凉冰,我们择日再会!

posted @ 2023-09-24 21:39  顾星河  阅读(36)  评论(3编辑  收藏  举报