As the old saying goes, to do a good job, you must sharpen your tools.


So, what “weapons” have you used as a programmer? Are your weapons sharp enough?


Recently, a lot of new friends ask, what are the tools for drawing flow charts, to recommend recommendations?


What tools have you used in ten years of programming? Try to summarize to share with you, I hope to help you.


Tips:

1. Considering the convenience of collection, the tools mentioned in the article have been arranged into a picture at the end of the article.

2. With the tools you have used and are currently using, there is bound to be a suitable style for you.


01. Prototype



Code writing for a long time, will also guest product role, draw some prototypes. According to the contact time, we will share two items.


One is the Axure RP, which you can prototype once installed.


(Axure RP renderings, images from the official website)



Another is Modao (yes, it’s called Modao), which does product prototyping online and is a great tool for telecommuting these days.


(Knife sharpening effect picture)



02. Make a plan


When the product colleague finishes drawing the product prototype, he will often call the brothers in development, and the team will review it. After the product requirement review is finished, we will make a rough schedule. There are many scheduling tools, and here I mainly mention the two I have used.


Before, Microsoft Project was the most commonly used one. Personally, I felt the overall effect was quite formal.


(Renderings of Project plan)


Now, Microsoft Excel (yes, Excel spreadsheets) is often used, and almost all the team members can read it without installing other software, mainly for convenience.


(Excel’s simple scheduling renderings are much more complicated than this.)


03. Process design



When the product needs are clear, the general cycle is also set, according to the standardized process, that is to enter the design stage, at this time will often use drawing tools, here, according to the time sequence I use, list a few out, I hope it is useful to you.


The first one is Office Visio, which is the first one I used, and the drawing is very simple and clear. Whenever I use Windows, I will use Visio for easel composition and detailed business flow chart, which has formed a muscle response.


Sometimes, StarUML, an excellent UML drawing tool, is used to draw class diagrams, sequence diagrams, and so on.


(StarUML renderings, from official website)


However, since switching to a MAC, I’ve started using ProcessOn to draw pictures online, no installation required, just open the link, and all kinds of pictures are supported. Whether it is work, or writing articles or sharing, I often use this tool. Pick two ugly pictures from previous articles and see the effect.


(ProcessOn renderings, from the past to share “contradiction and shield, how to build a good system of shield”)


(ProcessOn renderings, from the previous share of “Monitoring combat Prometheus+Grafana”)


However, ProcessOn has a limit on the number of drawings it can make without spending Money, so it occasionally uses draw. IO, which is also a powerful and concise online drawing tool, to make up two drawings.


(Draw. IO renderings, derived from the previous sharing of “these technical wheels, so that monitoring ground into reality”)



04. Code development



When the business process design picture is good, call the product wang, the team will review to see if there is any problem with the requirements understanding, if there is no problem, it will enter the coding development stage.


As a Java programmer, programming tools from Notepad, Editplus, JCreator, Eclipse to the most used IntelliJ IDEA now.


During the implementation of business requirements, many scenarios require three-party system interconnection, and sometimes the three parties will give you a JAR package to call. But sometimes it doesn’t work, so I want to know what’s inside the jar package. Here, I recommend one of the most used decompiler tools, JD-GUI.


In the process of code development, code quality runs through the whole process. I used to use The Eclipse plug-in that integrates FindBugs to scan for potential bugs, but IDEA’s code specification verification plug-in (Ali development specification plug-in) has already done a great job of meeting this need.


SonarQuable, which is an open source platform for code quality management, can also help you review your code and improve it.


(SonarQuable renderings)


When code development is pretty much the same, it’s inevitable that there will be plenty of self-testing, so how do you debug your own interface request?


One way to write a variety of Test simulation package, a piece of Test code, repeatedly modify parameters; Another way to avoid repeated code changes is to use Postman to simulate sending requests, and to store all historical access, which is super useful.


(Postman renderings)


What do you use in your development process, code versioning tools? The code versioning tools I used were SVN and Git, but gradually moved to Git.


In addition, during the development process, codes are often merged, and differences need to be found in case of conflicts, which can be achieved by using code version management tools such as SVN and Git. However, sometimes, in case of urgent use, in order to locate differences as soon as possible, direct comparison will be made with Beyond Compare.


(Renderings of Beyond Compare)



05. Code review



The code development is completed, and there is no problem with the smoke self-test. Then a meeting will be organized to conduct code review.


The main purpose of code review, in my opinion, is twofold. First, see if there are any problems with requirements understanding and implementation. Second: look for potential bugs in the code implementation.


In code reviews, Excel is now used most often to document problems in Review.


(Review record sheet, effect drawing, for reference only)



06. Submit tests



When the code development is completed, after the code review, the code is repeatedly tuned, and then through sufficient self-testing and joint tuning, when the confidence is multiplied, you can submit the test.


If you’re in a small workshop, pack it up and use Xshell or SecureCRT to put it in the test environment. Send an email or Jira to the test team.


First, Jenkins was used to compile and release the version and deploy it to the test environment. If the testers find bugs, they will put them on Jira. After fixing the bugs, the developers will use Jenkins to package and ship the version, so that the version number of each test submitted will be +1. In this way, you can measure the quality of the development of developers, if the test version is too high, it must be a slightly higher risk coefficient, a little stricter, according to the test version of the original performance yo.


(Jira renderings)


This is an online collaboration tool called Teambition. It is simple to drag and drop to complete task assignment and claim. It is also very suitable for testing and proposing bugs for the developer to claim and fix bugs.


(Image of Teambition)


07. Go online


When the test team completes the test, it will send the test report, and when the developer sees the test report, he can launch the online application. However, before going online, I will work with my operation and maintenance colleagues to make a plan for going online. The simple tool for making the plan is Excel. If it is a little more formal, I will write out the matters needing attention for going online clearly when launching the application for going online on Jira, and then I will communicate with them offline and arrange going online after confirming that there is no mistake.


08. Write at the end


I have been engaged in programming for more than ten years, and I will sort out the tools I often deal with here. I hope you can like them.


Finally, use XMind mind mapping tool to give you a summary, easy to collect.



We all know that in order to make the car go fast, the wheels must be oiled frequently, but only if the wheels are fitted properly.



Efficiency is the soul of good work. Hope to share these tools, these tools can help you improve efficiency, limited time, to achieve more value.

Please follow the wechat public account “One Ape Little Talk” for more wonderful sharing.