Hi Guys!, How you doing?
It’s been 4 weeks of
CODING PHASE-3 and it’s evaluation time again, this is the final one. So from 21st 9:30pm, Evaluation links will become active both me and my mentor have to fill a Q & A form ^_^. In this blog I will be sumarizing my GSoC’2017’s work of last 2 weeks. Let’s begin!!
The deadline of achieving the milestones set by my organization is 21st August. The big thing was
DocumentationAPI now has support for automatic padding and docstring type. Which tells us about the trailing no. of blank lines before or after the docstring and also about the type of docstring it is:
function level or
class level. By using these, now we can have blank lines detected and fixed according to PEP-257. Last 2 weeks was mostly about bug fixes.
DocumentationAPIwas creating a bug. It’s end marker was taken as the starting of a new docstring. Seems like the patch which I submitted in
PHASE-1to ignore these string literals was creating this. So I found the other way around. We now Ignore the whole
DocCommentinstead of ignoring it by regex(Which was the case previously). So a PR reverting the previous changes and applying a new solution was made and merged.
PHASE-2was breaking a corner case. Which we thought could be fixed seperately. But it wasn’t like that. So finally we came to a conclusion that
DocumentationAPIcouldn’t fix docstrings if their markers are faulty. As markers are the only thing by which drives
DocumentationAPIto find docstrings inside a file, we now just yield a
RESULTwith beautiful message which describes that markers are faulty. So a PR reverting the previous changes and applying a new solution was made and merged.
This was it!! I have successfully achieved my milestone of
PHASE-3. You can see my progress here. And here’s how my burndown chart looks like.
Yay! I did it!
Yes you read it correctly. I completed one of the biggest stretch goal which I had a thought since
PHASE-1. It was about giving an error handling mechanism to DocumentationAPI. So we now have
MalformedComment class which can be yielded if there is some error in parsing the docstring by DocumentationAPI. Which contains attributes like error message and line number, so these can be yielded on the bear part. A PR has been made and merged.
There’s still one more week remaining for hard deadline of August 29. I was thinking about doing some more quirks to DocGrammarBear and DocStyleBear which will polish my project and a review sprint ;) You can see all progress about stretch goals here!
There were some up and downs in
PHASE-2 I nearly failed the milestone. But
Why do we fall? So we can learn to pick ourself’s up - Alfred
Kudos to….Both of my mentors SanketDG & NiklasMM for achieving this milestone together. Couldn’t have done this without them. We made 2 calls a week to discuss about progress and to answer my queries one on one, which is the sole reason of this project being done in time.
I don’t know where this journey ends. It’s feels like it had just begun and opened up a new chapter to fill ;) I will soon write another blog wrapping up about my overall GSoC journey.
Till next time. See Yaa!!Written on August 19th, 2017 by Saurav Singh