The Cplusplus-Program repository exists to demonstrate an understanding and ability to use GitHub for version control and collaboration with peers in future development environments. Below I will list a few of these. The code displayed in this repository was created to implement python function calls in a user interface written in C++. While it does function in counting the number of each grocery item based on the number of times they appear in a list, its use is limited based on it's single use and still needs improvement to be a useful product.
- Use of version control to track code changes
- Collaborate with peers via issues and pull requests
- Consideration of multiple branches for feature or team projects
- Enable distribution of work with licensing and relevant documentation in one location
The good qualities could be found in the short but complete csv data access as well as the density of the python functions used. This could be majorly improved by using a standard data transfer that can handle much larger data sets, such as using a NoSQL database or even an object oriented storage method just as Json serialization. With using object serialization we could further deepen the quality of the data as well as reduce potential errors and through use of a database would improve security of that dataset.
Parsing a CSV file with little direct file experience in the past definitely tested my patience in parsing. This was the push that motivated the use of the csv library linked in the source files, to get some movement on that obstacle. Json would have likely been my advised transfer method due to my having more experience with object validation than string parsing.
The ability to interop between C++ and python, as well as my out of class toying with C++ built DLL being imported into a C# app, will more than likely be useful down the road as my direction in software development is still very much so undecided. Having a more formal overview of C++ has made it far less daunting to look over and know exactly what a piece of code should be doing.
Habits such as making sure that my code is properly documented and submitted by deadlines is not only forward thinking, but simple good practice.
For a more comprehensive example of my documentation capabilities a look at one of my other repositories would be ideal. To save some Time I am linking the C# binding for Texas Instruments INA226 Power Monitor that I wrote earlier this year.