Changes between Version 7 and Version 8 of SummerOfCode2013


Ignore:
Timestamp:
Jul 25, 2013, 9:32:44 PM (11 years ago)
Author:
marius@…
Comment:

Added project description.

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode2013

    v7 v8  
    3636
    3737The need for good documentation is really felt, once I dig deeper into the functionality of MacPorts, so I will make sure the test I develop come with good instructions on how to use the framework, add new tests to it or change it. I have already started with short comments in the code and some README files that will help me write the final documentation. The midterm evaluations is near, so I'd better get back to work.
     38
     39
     40
     41___________________________________________________________________________________________________________________________________________
     42
     43== Personal ==
     44
     45* Name: Marius - Vlad Coțofană
     46* E-Mail: marius.coto@gmail.com
     47* IRC/IM: mariusc (IRC), cmarius02 (GTalk, Skype)
     48* University/Enrollment: "Politehnica" University of Bucharest, studying Computer Science, 2nd year.
     49* Location/Timezone: Bucharest, Romania (GMT+2)
     50* Programming Knowledge: C/C++, Java, Python, Shell Scripting (bash).
     51* Short Bio:
     52
     53Hypnotised by computers from an early age, I began programming in high school. Learning C opened a new world for me and changed the way I used to see a computer. I followed Computer Science at the University, that brought me a whole range of other programming tools and languages, but C remained my favourite. I have adopted Linux, for almost 2 years, learned it, used it, taught it to other students and then decided to move on. OS X offered a new experience, much powerful and sharper and I decided to further improve it.
     54
     55Detail-oriented and highly analytical person, I have always tried to get involved in as many projects as possible, get around people that are better trained than me and learn from any experience. Although it takes me some time to connect to new people, I am devoted and helpful in any circumstances. Stubborn and punctual, I cannot stop until all work is done.
     56
     57 
     58
     59== Project ==
     60
     61=== ABSTRACT ===
     62
     63The lack of a proper testing environment is slowing down the development of the main project. Having an improved testing framework, that makes it easy for adding new tests and having a more comprehensive suite of tests, is essential to being able to refactor the code correctly. This also leads to an decrease in the time needed for adding new features and patches.
     64
     65=== DETAILS ===
     66
     67I will begin by setting up the necessary development environment, 2 weeks before the actual beginning of the coding period, time in which I will also make sure I have iterated through all of the Tcl features and I have a good understanding of how MacPorts source code is structured.
     68
     69In the first half of the coding period, I will review existing tests and further enhance them. This will walk me through the way they are constructed, so that I can maintain a consistent form and syntax throughout the entire testing framework. Having gain a sense of how things work, I can then begin writing new tests that will first cover the most important modules, and then continue and try to get as much coverage as possible.
     70
     71The second part will be focused on regression tests: improving existing ones and possibly adding new ones. Testing every part of the code is a good way of assuring correct behaviour, but as more and more functionality is added, new tests have to be added too. I will build an easy way of adding new tests, consisting in templates that are easy to use and understand. Having good documentation over the testing framework, is one of the objectives that would also be covered during this period. This will ease the work of people who want to add more tests or further extend the framework, and being open-source, inspire people who need testing for their own projects.
     72
     73Below you can find a tentative timeline, structured in 2-week intervals, as a generalised form from this detailed plan.
     74
     75=== TIMELINE ===
     76
     77Community bounding (1 June - 16 June):
     78
     79* prepare development environment
     80* further read on Tcl
     81* study MacPorts sources
     82
     83First coding period (17 June - 28 July):
     84
     85* 17 Jun - 30 Jun: review existing tests and improve them
     86* 1 Jul - 14  Jul: add unit tests for MacPorts base and the Portfile API
     87* 15 Jul - 28  Jul: add more tests that cover all modules
     88
     89Second coding period (29 July - 8 September):
     90
     91* 29 Jul - 11 Aug: improve available regression tests (and possibly add new ones)
     92* 12 Aug - 25 Aug: build a new, easy way for adding new tests
     93* 26 Aug -   8 Sep: write full documentation for the testing framework
     94* 9 Sep - 17 Sep: review code
     95
     96The remaining time between suggested 'pencils down' and firm 'pencils down' serves as buffer for unexpected changes and delays.
     97
     98 
     99
     100=== Additional Questions ===
     101
     102* What are your experiences with Mac OS X so far? (How long do you use it, did you switch from Windows/Linux, etc.)
     103
     104I started using Mac OS X just 5 months ago (December 2012), when I bought a new notebook. Coming from a Linux world, I decided to switch because it had so many problems that I had to spend most of the time repairing them, rather than spending it developing. Of course, OS X, has its problems too, one of which is the lack of a proper package manager. MacPorts is a great solution to this problem, so I plan to be part of it.
     105
     106* Have you used MacPorts before, and if yes, for how long?
     107
     108I have used MacPorts since my first week with OS X (5 months ago), like one of my friends suggested, as a response to my complaints.
     109
     110* Do you have experience with other package management systems such as FreeBSD ports, Gentoo Portage, Debian APT, etc.?
     111
     112I have previously used many Debian-based distributions so I am familiar with DPKG and APT, but also tried YUM and RPM.
     113
     114* Have you already made contributions to MacPorts? (New ports, port updates, etc.)
     115
     116No contributions yet. I have focused on reading the code and understanding how it works. I plan to have my first commits before the coding period begins.
     117
     118* Have you already made contributions to other Open Source projects?
     119
     120Sadly, I do not have any major contribution to other Open Source projects, and that is the reason why I am so exited to start this project.
     121
     122* How much experience do you have with Tcl and C?
     123
     124C was my first programming language and quickly became my favorite. I began writing C code from high school and continued with it two years in my university studies, where I have also added POO notions (C++). This language has proven to be very powerful and feature rich, that is why I plan to stick to it.
     125
     126I began learning Tcl for two weeks, starting with the tutorial on the official site (as people from the MacPorts IRC-channel suggested) and already have made some scripts to further understand its features. My little experience with Tcl is backed up by a fairly large history (2 years) with shell scripting using bash.