Hey Vinicius, Thanks for the feedback. As you said documentation might tricky so I have changed my schedule. Do look at the new Proposal https://docs.google.com/document/d/1Rmvzq4nqsu-qEfiTbhWhSxPI31RVHoYGadbMJ7urk4Q/edit?usp=drive_web&ouid=114650494775555899134 i have assigned 4-5 days for documentation and testing. As far as the Testing part was concerned I had planned to make test cases(of different types and different length - ranging from a very small size to a max value ) then test them against the standard implementations of the proposed algorithm in python and check for the measure the time and accuracy of output I would implement against the one already implemented in Python (The links to the standard implementation in python are in the updated proposal. These implementations in python are part of Python Package index) The suffix tree link you had asked for : Sufiix_tree https://github.com/Athulpai12/SuffixTree The boost libraries i mentioned had been used by me to compensate the functionalities missing in STL of C++ so i have not gone into the depth of boost style of coding .I will make sure I am well versed with it before I start to contributing to boost libraries. And As far as git is concerned I actually do have worked n git a lot of times (The reason I shared Suffix tree on Drive is because it was already present there). I have performed merge , commit , checkout , annotate, diff and played around with many other thing . Also the editor (CLION) I use now has version control embedded within it so all the commands are just one click of a button with a good UI. CLION Version control that I use. CLion Version Control Image https://drive.google.com/open?id=18accCWuwo8NZL4jK8uRrsJ1hhOH7bxmX Regards Athul On Wed, Mar 21, 2018 at 11:45 AM, Vinícius dos Santos Oliveira < vini.ipsmaker@gmail.com> wrote:
2018-03-19 15:56 GMT-03:00 Athul Pai via Boost
: Proposal <https://docs.google.com/document/d/1Rmvzq4nqsu-qEfiTbhWhSxP I31RVHoYGadbMJ7urk4Q/edit?usp=sharing>
Could you upload your implementation of suffix tree and generalized suffix tree to some source code versioning tool (Github is enough, but you're free to use others)?
You mentioned that you used Boost libraries before, but it sounds to me that you aren't used to writing Boost style code (not really a problem, don't worry). It doesn't sound to me that you're very familiar with git either (don't worry, this is a easy skill to learn). Maybe you should get less greedy in the first half of the time spent on the project so you can accommodate changes based on feedback you most likely is going to receive. You can arrange such time by moving part of the features you were willing to implement into a “Features if I finish my schedule earlier” section.
What do you mean by testing against Python for stability? You do not make it clear why the use of Python will give confidence on your implementation? Will you plug your implementation into Python so you can use Python unit tests against your code? It that it? Besides, what's your plan to these tests? Benchmark per si can be a hard task and there are some programmers who will go to great lengths in such tasks. I'd like to have more details: will you provide a python script that I can run on my machine? will you run some programs on your machine locally and share the results?
I don't like that you only reserve one day to document each complete data structure. Documentation can get tricky specially with templates involved and you only have experience with
-- Vinícius dos Santos Oliveira https://vinipsmaker.github.io/