Comments on Project Evaluation

Umar, Mohammed and I did an evaluation on VSCode, Microsoft’s open-source IDE. I’ve used the editor before and thought it was super light and snappy, but I did not love it. However, it’s worth knowing about the project since I hear a lot of positive reviews on it.

General Impression

As we look into the repository of the project, we found out the project is huge! (as everyone expected). It has 639,878 lines of code and 1099 contributors. We browsed through some files, and their documentation looks clear and concise. The code is also self-descriptive and well commented, from a judgment based on our random sample. Another remarkable fact is, 93.7% of its code is TypeScript. My guess was it’s mostly written in JavaScript since I only knew that Electron (A framework that enables you to write desktop applications using HTML, CSS, JavaScript) project. However, I thought TypeScript is such a new technology that everyone is currently trying to migrate to, so the rate is surprising. Contributing to this project seems exciting if you use vscode regular bases.

The Hard Part

We also did some research for some numbers in the project. The hardest part of this evaluation was finding ways to count or filter the numbers. We initially tried to count all the issues in the past six months, but after running around in GitHub docs, we finally found there is a thing called search syntax. It was a shame on me that I didn’t come up with this because I sometimes use something similar to this on Twitter. Anyway, it is a great feature when you want to know about a repository, or to search in GitHub in general. Here is an example of the functionality. For example, if you are looking to find how many issues were closed in the past six months. Let’s assume that today’s date is 2020-02-29, then click on the Issues tab in the repository, then, in the search bar right next to Filters pull-down, type:

is:issue is:closed :>2019-08-29

where ‘:’ divides a qualifier (specifying which function to use) and a parameter (specifies the type of value to search). You may refer to the documentation for more details. These syntaxes can be expanded to general search as well, such as finding a repository. Furthermore, there is an API called Github API which can help you make an HTTP request with headers that specify the values you need, but it is overkill for simple evaluations.

Top Three FOSS Projects
  1. InkScape
    Most of the code in this project is written in C++ and that matches my interest. Besides, they have clearer documentation that beginners can understand how to get started.
  2. Electron
    The technologies used in this project looking interesting enough for me. I was looking for a project that uses C++ as one of its core languages. Most of the projects I came across are for gaming or computer graphics. However, the Electron project uses C++ binding for performance optimizations.
  3. Gnome Clock
    This project uses Vala as their primary language whose "compiler" generates C code, and then GCC compiles it to assembly code. I am motivated to learn native GUI development, and it looks much better than writing GUI using C++ toolkit like Qt (that I gave up in two hours...).
Outside activity

No outside activity for this week.

Written before or on March 1, 2020