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
-
- 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.
-
- 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.
-
- 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.