środa, 28 października 2020

GSoD week 6

 Hi!

Just a quick update this week.

I'm still waiting for someone to have a look at PRs #2535 and #2499. Hopefully they can get it soon.

I have quite a bit of work done locally but I'm not in a hurry to open another PR. My plan is to open a PR around the weekend with 10 more high-priority files with added/edited doxygen comments. The files in question will be the ones from stream.h up to metaengine.h from this list.

I am still investing a significant chunk of my time into developing the knowledge of aspects of C++ used in ScummVM headers. Figuring out how streams work was the latest challenge :)


środa, 21 października 2020

GSoD week 5

 Hi!

The last week has been very busy and I've spent a lot of time working on finalizing PRs #2535 and #2499. The diff is quite massive so good luck to the reviewers :)

I am slowly crawling through the high-priority header files, as defined in the spreadsheet. Some of them can be really time-consuming, I think I spent over two days on str.h. A huge chunk of this time is spent on reading, googling, and expanding my knowledge of C++: how to understand operator functions, how iterators work, streams, arrays, lists, strings...I'm surely learning a lot but it annoys that it takes so much time that is then not really reflected in the work I'm submitting.

The problem I am already starting to see is that reviewing my PRs will take quite a bit of time. Every doxygen comment that I am adding there needs to verified, simply because my understanding of the function/type/attribute might have been wrong. And as my PRs are getting verified, the header files that they are massively editing are being changed on master by other developers, which produces some nasty merge conflicts. I guess fighting merge conflicts might become one of the main challenges in the remaining part of the project.

I'm going back to my files, you can track my progress in the Google spreadsheet if you are interested. I usually put a green 'Reviewed' field next to the files that I have already gone through and included in a PR.

wtorek, 13 października 2020

GSoD week 4

Hi!

I'm doing this blog post a bit late when week 5 has already started. I've had some busy, tough days recently due to sick family (autumn and kids generally don't go well together) and couldn't devote as much time as I would like for my GSoD project. I'm a bit behind on the timeline right now but not really worried as I'm sure I can catch up with everything.

Right now PR#2499 is open with some more reviewed header files from the common folder. This is something I would probably like to get merged as soon as possible.

I've recently had some very good discussions with Eugene about the scope and priority of my work. You can check out this spreadsheet that contains a list of most headers from which we build doxygen documentation. The scope has been set for 114 files, most of which (75) reside in the common folder. Three levels of priority have also been assigned to the files.

Due to all this, I will be changing my approach to how I am working with the files. My assumption so far was that I would be going folder-by-folder, reviewing files alphabetically. My project timeline was also built around this idea, assigning particular weeks to work in particular folders. However, as there is clear priority now set on each header file, I am going to thouroughly review high-priority files first (there are 33 of those), then move to medium priority, then to low. This approach will assure that my GSoD project brings as much value as possible to ScummVM.

Stay tuned for PRs with some high-priority files in them!

poniedziałek, 5 października 2020

GSoD week 3

 Hi!

Work is ongoing and I am still mostly focusing on reviewing doxygen blocks in the header files of the 'common' folder.

In the meantime, some things have been merged:

- PR#2361 - documentation generated from the 'common' folder is now nicely structured and divided into groups. Grouping will ultimately be applied to all header files in the project.

- PR#2457 - everyone can now easily build the doxygen documentation using a make command or the provided .sh script (big thanks to Thierry for his help with the scripts)

- PR#2467 - doc edits in header files

- PR#2488 - doc edits in header files

The last two PRs are merged but if you look into them, you'll be able to find my summary of the missing documentation which we haven't yet worked on. There is a lot to add and I can't do it on my own so any kind of help from the development team will be greatly appreciated. Creating developer documentation is always a cooperation between an SME and a tech writer so without you guys my powers are limited :)

During this week I also had a very interesting checkpoint call with my mentor Eugene where we clarified certain aspects of my GSoD project. I won't bore you with details but the scope and priority of tasks is now much better defined and I'm sure it's going to positively affect my progress.

GSoD summary report

My GSoD task was to improve the Doxygen-generated documentation of ScummVM in terms of its structure, completeness, language, style, coheren...