普通码农一枚,分享一下自己最常使用的几个效率生产工具常用软件开发工具。
目前还没看到神级程序员的回答,问题先码一下,坐等神级程序员。
下面本人抛砖引玉的回答:
1、关于架构设计和系统设计:会推荐几个自己常用的画图工具,这类工具可以帮助理清楚思路;
2、推荐8个实用的环境工具:工欲善其事必先利其器;
3、推荐7个优秀的开源项目:内功修炼得好,写代码效率自然提高。
一、架构设计&系统设计
写代码前做好系统分析设计,会使得进入编码阶段后代码思路比较清晰、避免返工、以及良好的实现团队结对编程。
画图工具-UML类图、架构图、流程图、时序图等等。
推荐工具:Visual paradigm、OmniGraffle、ProcessOn、ppt、PlantUml。
俗话说,一图胜千言,图即是代码的指导思路。
如下是示例功能流程图和数据流程图:
如下是Flink的时间戳分配器类图:
Flink架构图:
二、环境工具
1、Git
版本控制工具,不仅是代码,文档之类的也需要常做版本以及备份,防止重要资料丢失。
2、多显示器
我一般平台用3个显示器:一个用来显示线上系统的运行状态的监控、一个用来看文档、一个用来敲代码。还有就是机械键盘。
3、信息搜索
google(非百度,不要怕看不懂英文)
Stack Overflow:上面高手如云,而且非常热心。
github
各个项目的官方手册(MySQL、Flink、Redis等等,官方文档是最权威最新的资料)
:///
/
4、Alfred
超级好用的查询和搜索工具:
5、VIM
VIM用熟练后,完全可以脱离鼠标,并且效率提高几倍。
6、笔记工具
推荐onenote,随时随地记录自己的想法和总结。
7、postman
非常好用的}
8、文档编辑
推荐MacDown:一款优秀的mac平台的markdown编辑,客户端贼好用。
三、内功修炼
多看优秀开源项目的代码,尽量参与进去,不论是maillist、QQ/钉钉群组等等,可以尝试从编写文档、写测试用例开始入手,逐步切入核心功能。
参与优秀的开源项目可以和业界优秀的程序员大神一起结对编程,开阔思路,掌握优秀的代码编写风格、设计模式和技巧。
windows客户端程序一般用什么IDE和什么编程语言编写?
作为一名一线开发工程师,我将自己用到的和看到的做一介绍,如果有不妥的地方,欢迎大家留言讨论。
1. C/C++系列IDE不用说,首选全宇宙最牛的IDE VS系列,该部分有代表性质的也就是MFC、Qt了,下面分别介绍。
1.1 MFC
一个早已经被微软抛弃的产物,不过目前还占据着一定的市场,主要在军工、自动化等行业,如果你不幸入职一家还在维护这MFC老项目,那么建议你该考虑考虑下一份工作了,MFC==没饭吃,重要的事情说三遍,不建议选择MFC,不建议选择MFC,不建议选择MFC。
1.2 Qt
当然IDE首推QTCreator,当然,你也可以选择VS搭载QT插件进行开发。跨平台支持,在国产化越来越受到重视的今天,相信Qt的市场也会逐步增大。
下面是一款使用QML绘制的界面效果图
1.3 C++第三方界面库
这里就不一一列举了,可直接网上搜索,重点推荐一款duilib。
Duilib是一个Windows下免费开源的DirectUI界面库,由于简约易扩展的设计以及稳定高效的实现被各大互联网公司普遍接受,广泛应用于包括IM、视频客户端、股票行情软件、导航软件、手机辅助软件、安全软件等多个行业的众多pc客户端软件。Duilib还在不断的发展中,在文档、例子、动画、渲染引擎等多个方面将持续改进。除去各方面优点,其最不足之处就是原始代码作者已经不再维护,可能遇到的坑会比较多,各个公司也都是维护这自己的一个版本。
下面是基于Duilib开发的一款仿360安全卫士的界面效果。
2. C#程序界的富二代,有着微软这一亲爹的扶持,VisualStudio强力支持。通过简单的拖拽界面,即使你是一个新手,也可以快速做出一款有着可视化界面的GUI程序,当然想要做好、做深入了还是需要你花费一定的功夫来学习的。常见的管理系统使用它来开发的还是很多的。其优势就在于快速开发,很好的兼容瘟都死。
3. JavaScript有代表性的要数Electron了,不可一世的VSCode就是由其开发而来,JS大有一统天下的趋势(后台,PC端,移动端)。
4. Java系列
这个,使用的应该不是很多了,作为了解即可,JavaSE。使用Eclipse开发即可。