Design Patterns for GNSS Software Receivers
The aim of this paper is to provide guidelines for developing high-quality, well-written GNSS software receivers. The systematic application of software design patterns and programming methodologies speeds up the development process by providing tested, proven development paradigms, and improved code readability for coders, receiver architects, and users. This includes unit testing of all the modules, and the use of a code programming style stressing readability and language-specific conventions. All these good practices result in fewer bugs, reduce reinvention-of-the-wheel, and cut long-term maintenance costs.