Some tools used in software development

Source: Internet
Author: User
Tags ultraedit
Some tools used in software development

In the software development processVCIn addition to compilers, we often use some auxiliary tools to improve work efficiency. The following describes some of the tools I have used, and the right is worth mentioning.

Beyond compareThis is a tool for comparing files and folders. You can easily compare the differences between two folders or files. The differences are marked by different colors. There are two typical application scenarios in software development: one is to compare the differences between different versions of the same file to locate the problems introduced by version differences; the other is, in some software projects, branch versions are created on the master version to support different requirements. During the merge process, although the version management tool provides the Merge function, conflicts often occur, in this case, you need to manually merge,Beyond compareIt will be useful.Beyond compareIn addition to text comparison, the current version seems to be able to compareMP3, Images, etc. If you are interested, you can study.

Ultraedit , A good text editor, compared Windows Of Notepad More powerful Notepad Can also be a substitute for writingCode, Supports mainstreamProgramming Language, C/C ++ , Java , Perl And so on. In Windows/Unix When the platform is developed UNIX Lower VI You can use Ultraedit In Windows Compile the code FTP To UNIX For compilation and debugging. Because VI Without syntax coloring, code analysis and troubleshooting may be troublesome. Ultraedit Good syntax coloring for the code. FTP This facilitates cross-platform development. Previously Used Ultraedit I wrote one Perl The magic number gadgets in the Statistical Code are also integrated VC Happy for a long time.

Sourcecounter, This is the green without InstallationProgramUsed for StatisticsSource code, SupportedC ++,Java,PHP,C #Supports recursive statistics on folders. The statistical results include the number of files, size, number of lines of code, and number of lines of comments. It is often used to calculate the proportion of comments to see if the ratio has reached30%. In the new version, the costs such as the number of test cases, number of defects, and man-month can also be obtained based on the set quality objectives and cost parameters.

Source insightThis is a good thing. In the past, it was mainly used to analyze the source code structure,VCThe editor also provides navigation functions such as go to positioning,Source insightIt's just a little dummies,Source insightIt generates its own high-performance symbol library, including classes, structures, variables, and functions, which is the basis of quick navigation. When you maintain a project with complex code structures, it helps you quickly clarify the relationships between codes and improve the efficiency of solving problems.

Incredibuild, Distributed compilation tool, compilation of large software is a long process, how to improve the compilation speed? You can use distributed compilation tools. The principle is very simple, that is, the entire compilation work is allocated to multiple computers in the network for execution through computation. In this way, the Compilation speed will be improved by an order of magnitude. SpecificIncredibuildThe working principle is: there is a machine in the network as the server, other machines install the client, the server receives a client after the compilation request, the compilation task is scheduled based on the resources of all other clients.

PC-LintIt is a static code detection tool that can be used for code review. Although the compiler will check the syntax, the degree of rigor is not high.WaringInPC-LintMay beError,PC-LintIt can be found that, although fully compliant with the syntax requirements, there may be potential and difficult to find errors,PC-LintMainly used for checking

C/C ++Code, supportVC,Vc.netCompiler.

VMWareVirtual software, which can Virtualize new computers and install them on virtual computersWindows,LinuxAnd other operating systems. UseVMWareThis allows users to use cross-platform development or multi-platform development, just like having multiple computers. For example, your server is based onLinuxWhile the client is based onWindowsSo we can build an environmentWindowsECS instanceLinuxVirtual machines, which saves hardware resources and makes it easy to switch between the two systems, which is conducive to improving the development and debugging efficiency.

VisioA Microsoft chart creation tool used to draw flowcharts and time sequence diagrams. It has been useless for a long time.

What does the version look like.

Version control tool. I have used three types of tools at work:VSS,CVS,Clearcase.

VSSIt mainly works in exclusive mode and is only usedWindowsPlatform, used in LAN environment, andVSThe series of tools can be seamlessly integrated inVSCheck-out and check-in are directly performed in the tool. However, when the project code volume is large, combined use of the tool will greatly reduce the speed of opening the project.

CVS, SupportedWindows,LinuxAnd other platforms, which can be used in the LAN and WAN. Generally, they do not use the exclusive mode. Users can modify the code within their own permissions without occupying it separately, that is to say, other users with permissions can modify the code, which may cause conflicts when multiple users modify the code and submit the Code. In this case, the Code must be merged. If a project contains code based on multiple operating systems and the Code has a shared relationship, you can useCVSAs a version management tool,

And it's free.

Clearcase, YesIBMProduct, supportWindodws,SolarisPlatforms,IBMWill provide comprehensive support.ClearcaseIt is a powerful and complex thing. What I have used is the basic functions. What impressed me most is the parallel development and management of multiple branches, which provides powerful comparison and merging functions, for exampleBugIf each branch exists, we first modify it in one branch, and then compare and merge the modified Code with other branches, which is efficient and secure.

rational purify is an excellent memory problem check tool, most developers who use C/C ++ have encountered memory leaks, especially when there is a large amount of code, it is quite painful to manually check the code to find memory leaks, in this case, purify is the gospel. This is a runtime tool. The general step is to configure the purify environment, compile your program and put your program in purify , make sure that your program runs to overwrite all the code as much as possible, and then end the program running, in this case, purify finally, a memory report is provided, indicating the location of the Code with memory problems. On Windows and Solaris used purify , it feels really good. And purify Tools of the same series also include quanify and purecoverage , quantify is mainly used in optimization programs, it can analyze the execution time and number of calls of a function. developers can optimize functions that have many calls and have a long execution time based on the analysis report. purecoverage This Is A code overwrite check tool, I have never used it . You can find out if you are interested.

BoundscheckerThis is also a memory issue check tool, which was used some time agoVc2003When a project is running and exited in the debugging status,OutputWindow will promptMemory LeakInformation. Of course, this information can also help to find out the memory leakage code, but it is quite troublesome.Boundschecker,BoundscheckerCan be well integratedVC, SelectFinalcheckWorking Method: terminate the operation after the program is fully run,BoundscheckerThe report will be provided. Based on the report, I will solve the memory leakage problem,OutputWindow no longer existsMemory LeakInformation.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.