ITDev has built up considerable knowledge on best practise in software and electronics development. We use many modern and creative techniques to improve the efficiency and quality of our work. We have a comprehensive library of tools and scripts to assist our development engineers.
For example:
- Automated documentation:
We use the documentation system Doxygen to help automate the process of preparing technical documentation of C, C++, PHP and VHDL code. -
Coding standards:
We have scripts that will automatically parse source code and check for adherence against coding standards. We use a proprietary software tool, VHDL Review, for checking VHDL code; we use Lint for C/C++ code; and we use PHP_CodeSniffer for PHP code. -
Review:
We use a proprietary software tool, Transcript Tool, for filtering transcript/log files in order to provide an efficient sign-off route for simulation, synthesis, etc. This tool is frequently used, especially during FPGA design. This enables our developers to quickly review reports and transcripts to ensure that no important warnings are missed and other warnings are signed-off with an appropriate message.We use Review Board to review source code, documentation and other text-based files. It offers our engineers and managers an easy to use web interface, to conduct and manage the reviews, with e-mail notification of status changes.
-
Version control scripts:
We run automatic pre-commit hook scripts that will prevent sub-standard code from being committed to the repository.
-
Unit testing:
We unit test extensively. For C++ we use UnitTest++ and for PHP we use PHPUnit.
-
Continuous Integration:
We use Jenkins to automatically run scripts on committed code. It will automatically build the latest software, run automatic tests, report test coverage, generate documentation and e-mail the relevant stakeholders if there are any issues.
If you have an existing development team and are looking for suggestions on how your team performance could be improved, then we'd be happy to review your current processes and tools. We can not only make recommendations for improvement, but we'd also be glad to work with you to implement any changes.
Many of our clients gain from our expert knowledge as a by-product of simply working with us. In any project, if we feel that we can make helpful suggestions for improvement then we will do so. We often host collaborative projects on our own servers, using our own tools, from our client portal.