做一个互联网的开发工作者,可能任务就一个,即写出满足客户需求的优质代码。不过在实现这一任务的时候光是靠一味的付出是远远不够的。之前的博客就有讲过,好的习惯能够让我们事半功倍,没错,好的习惯就有包括使用优质的开发工具。像编程语言、编辑器、代码控制、构建工具、超级终端、虚拟机、相关的插件等等;刚刚入职华为快一个月,学习了很多代码规范、开发工具的使用,也有感而发的做一些笔记吧~
编程语言:
实现同样的一个功能,用几种编程语言都是可以实现的,不过这个时候我们就对比那个更加主流、更加简便和更加高效率了。
C/C++语言:这两份都是比较老的编程语言了,一个面向过程一个面向对象,面向过程能够使得代码的运行更加高效而面向对象架构更加的直观方便重构。目前C语言用的比较多的行业是做嵌入式系统的这种行业还有直接依赖一些C开源库的软件开发,C++则在C语言能够做的地方都能做,同时更加地适合来做客户端开发,因为C++的开发对老代码的耦合性比较低。
Java语言:这是一门向C++学习了很多特性的语言,同时加上了很多特点,像跨平台可移植,垃圾自动回收,用引用来替代指针等等,客观来讲这使得使得开发更加简便,所以java在目前的客户端开发占着重要的一部分,其中主要是android软件的开发,同时Java在Web的开发也是有着很重要的作用。所以做java开发往往都会需要会Web开发。还要要提的一个语言是scala,这是基于java之上开发的一个语言,依赖于java的jre来运行,扬长避短了javc的优缺点。
前端语言:与前端对应的就是后台了,一个网站点进去看到的界面都是前端开发的,网站的界面对于吸引用户也起着重要的作用,一个网站只要不出现宕机卡顿这些现象,用户就不会去注意到后台开发。前端语言,有静态语言html,负责界面的答题框架设计;css语言负责字体颜色等等的格式修饰;动态语言js,能够让界面动起来(因为引进来了变量);
Python语言:这一门更注重代码规范的语言,对比java显得开发更加的简便和灵活,变量不需要声明变量类型,增加了元组,还有协程和生成器等等。在Web的应用比较广泛,有时候java比较难实现的事情就可以交给python来实现。一个功能python能够更加简单的实现,这完全让人没有抵抗力,而且目前很多web的后台实现也都是用的python了。
Shell语言:这是一门使用类unix操作系统会用到的语言,一般服务器和嵌入式系统都是使用类uinux操作系统的,所以工作涉及到类unix操作系统的开发者对Shell脚本语言的使用也是需要掌握的。
其他语言不懂也不多说了~
开发软件:
-------------------------------------------------编辑器-------------------------------------------------
Visual Studio:写C/C++的话,这是宇宙最好用的开发工具了,而且还能集成很多插件,像visualassistX这种,能够让你开发更加快捷。
Qt:这是个做界面开发比较强的C/C++开发工具了,利用Qt帮助文档能够挺快的熟练掌握Qt封装好的库,这也是个做客户端开发的好工具。
SourceInsight:查看一整个大型项目或是一堆项目的代码,非常方便和直接,也有些人比较喜欢使用sublime,其实功能都差不多的,界面的美观上我觉得还是SourceInsight更胜一筹吧
myEclipse、Eclipse:这是做java开发比较不错的开发工具,重点是免费。当你下载不到JetBrains下面的破解版软件时,这是挺不错的替代品。其中myEclipse是比较简单上手的的javaWeb开发工具
JetBrains旗下的软件——
IDEA:编写java代码非常的舒服,之前自己的电脑和公司的电脑都安装过Eclipse和IDEA,对比之下还是觉得IDEA更加的容易操作,有很多不错的的快捷键,像ctl+shift+a的万能键等等;软件本身就能够下载很多插件,有插件加持更加高效,像checkstyle、findBugs-IDEA、PMD等等,同时在团队开发的时候为了统一代码规定建立有内部自己的checkstyle。
Py Charm:当你熟练使用IDEA的时候,这个软件的快捷键和界面都是类似的,同样很高效。这样就避免了切换软件时,快捷键容易搞混的问题。
-------------------------------------------------其他软件-------------------------------------------------
MobaXterm:之前都是使用XShell的,界面的东西还需要用Xmanage,而且还是付费的,后面接触了这个软件,发现它是两者的结合体,而且还好用。
tortoiseGit:这是是借鉴了svn的界面开发出来的Git工具,结合了两者的优点(这只是个壳,需要下载Git Window版本)。
Beyond Compare:在团队开发代码的时候,难免会遇到冲突的问题,这个需要用一个比较软件来对比代码,这个将会是不可多得的好工具。
SourceMonitor:当团队代码开发带非常庞大的时候,有时候需要重构代码使得代码更加高效,这个时候可以利用这个软件查看代码的性能高,根据圈复杂度等来选择要更改的代码。同时这是根据可以集成到IDEA中~
maven:一个强大的项目构造工具,能够帮助我们解决一个大项目代码中依赖库版本的问题,只要设定好maven install能够帮我们下载配置好对应的依赖库。
之前博客提过的:notePad ++、OneNote、viso、uml等等
-------------------------------------------------谷歌插件-------------------------------------------------
OneTab:能够自动保存或者锁定你的浏览器打开的所有网站,关机第二次打开还能直接扩展出来~这能直接提高效率
Adblock Plus:能够去掉大多数的广告~屏蔽广告能够让我们更加专注于工作的内容
listen 1:听到大多数平台的歌曲~上班的时候偷偷听会歌能够愉悦心情,提高效率
Recent History:谷歌浏览器的查看历史记录不够强大,这个插件刚好可以弥补这个缺点
划词翻译:在程序员开发过程中经常会接触到一些英文网站,除了谷歌的全局翻译之外这个插件你刚好可以实现局部选取翻译
copyfish:能够从图片识别出文字并且能够获取到文字
油猴脚本:一个强大的插件,自行百度吧