Modernizing Photos' Codebase #12
danirabbit
started this conversation in
Ideas
Replies: 3 comments 1 reply
-
I would be happy to mentor this project :) |
Beta Was this translation helpful? Give feedback.
0 replies
-
Providing some unit tests for Photos would help ensure that replacing deprecated code does not cause regressions - see discussion #14. |
Beta Was this translation helpful? Give feedback.
0 replies
-
I would love to work on modernising Photos. I've recently decided to make eOS my desktop OS - as opposed to it being something I primarily used on my laptop and having a functioning Photos application is really important to me. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Photos is one of our oldest and most complicated code bases. As sometimes happens in Open Source, elementary took over maintainership after the original maintainers were no longer able to. There are many areas that could be improved in terms of architecture, code style, and resolving deprecation and compiler warnings.
Outcome
Students should work to modernize Photos' code base as much as possible following the elementary code style guide, resolving compiler warnings, etc. Students should also seek to simplify code where possible. At the end of the student's project, Photos' code should be demonstrably more legible and organized.
An example of this type of work is this branch replacing the deprecated
GLib.TimeVal
withGLib.DateTime
andGLib.Time
: https://github.com/elementary/photos/pull/612/files or this branch replacing getter methods with properties: https://github.com/elementary/photos/pull/609/filesSkills/Requirements
Difficulty: 🍰 Easy+
This is a great project for students with fledgling programming skills. It is not expected that students will be able to modernize the entire code base in the allotted time, so they will be able to adjust their scope of work with their level of expertise. Students will learn how to apply a code style guide, what it means to deprecate code, and how to look for opportunities to improve existing code. Students will likely not write significant amounts of original code, so much as rewrite existing code. Ambitious students will have an opportunity to take on more difficult rewrites if desired.
Beta Was this translation helpful? Give feedback.
All reactions