FW: RFC: source code maintenance concerns and others


 

Dear NVDA community,

 

If you are willing or know someone who can help out, please invite people to help out. Thanks.

 

From: joseph.lee22590@... <joseph.lee22590@...>
Sent: Sunday, April 1, 2018 9:26 PM
To: 'nvda-devel@...' <nvda-devel@...>
Subject: RFC: source code maintenance concerns and others

 

Hi all,

 

After reading a conversation on Gitter where Doug Lee pointed out a function in winUser module that was broken (confirmed by Jamie), and after going through other modules in NVDA source code (both Python and C++ files), I figured it is time to bring other source code maintenance concerns to the wider community (wider than the NVDA community, in fact). Some of these include white space inconsistencies, duplicate classes, inconsistent copyright headers, import concerns (especially _winreg versus winreg and others) and so on.

 

To gather comments from not just NVDA community, but from outside as well, a meta-issue has been created to go over some of these concerns:

https://github.com/nvaccess/nvda/issues/8139

 

An important request: you should comment on this issue or offer to assist in this matter if and only if you satisfy ALL of the requirements below:

 

  1. Understand what a screen reader is from a technical level or at a competent level where you can explain how it works to different audiences.
  2. You have contributed NVDA source code edits at least once, or reviewed the source code for research purposes. This excludes documentation edits, translations, website contributions and other things outside of NVDA Core source code changes.
  3. You have genuine concerns about the state of the NVDA Core source code.
  4. You are willing to research and improve the source code to address various concerns or raise issues not raised on the issue linked above.
  5. You are willing to reach out to people outside of NVDA community (computer science professors, researchers, students, Python experts, software development gurus and others, both sighted and blind) in hopes of recruiting them to help us with this work.
  6. Skilled in at least two programming languages (C++ and Python preferred).
  7. Be an effective communicator as this project will involve a lot of contributors.

 

Those in the NVDA community must meet ALL requirements above. Those outside the community who are willing to help out and lend their expertise/advice/funding/recruitment skills should satisfy at least requirements 3, 4, 5, and 6. Also, outside folks who have knowledge of or have experience in principles and practices of software development (especially maintaining a large software system) are more than welcome to join this effort.

 

As for what I will do: as the initiator of this proposal, I will reach out to several software engineers who might show interest in this effort. Although I might not be able to lead this effort up front (due to other commitments, especially because I’ll be competing in two national speech tournaments in April 2018), I will try my best to offer help and leadership in various capacities.

 

Comments from the whole community are appreciated.

Cheers,

Joseph


Brian's Mail list account
 

Well no I don't, but I will comment that this aspect for any software with many different writers is par for the course, even back in the olden days when I was young!
No matter how apparently tight syntax is, you often get somebody reinventing the wheel, either because they do not understand how the existing wheel is supposed to work or they do not know it exists or can be adapted to roll their way without breaking something.
In commercial projects somebody keep this under review constantly before it starts to grow too complicated and hard to understand. However when working as NVAccess do, this is often beyond resources, and has, in the past led to break up of projects, spin offs etc etc.
That in this case would be a bad thing to happen.
I agree that something needs to be done, and I also assume there are no tools around that can follow the twists and turns of such complex code through runtimes and libraries written in other languages and already compiled, in order to show the dodgy parts.
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.

----- Original Message -----
From: "Joseph Lee" <joseph.lee22590@...>
To: <nvda@nvda.groups.io>
Sent: Monday, April 02, 2018 5:27 AM
Subject: [nvda] FW: RFC: source code maintenance concerns and others


Dear NVDA community,



If you are willing or know someone who can help out, please invite people to
help out. Thanks.



From: joseph.lee22590@... <joseph.lee22590@...>
Sent: Sunday, April 1, 2018 9:26 PM
To: 'nvda-devel@...' <nvda-devel@...>
Subject: RFC: source code maintenance concerns and others



Hi all,



After reading a conversation on Gitter where Doug Lee pointed out a function
in winUser module that was broken (confirmed by Jamie), and after going
through other modules in NVDA source code (both Python and C++ files), I
figured it is time to bring other source code maintenance concerns to the
wider community (wider than the NVDA community, in fact). Some of these
include white space inconsistencies, duplicate classes, inconsistent
copyright headers, import concerns (especially _winreg versus winreg and
others) and so on.



To gather comments from not just NVDA community, but from outside as well, a
meta-issue has been created to go over some of these concerns:

https://github.com/nvaccess/nvda/issues/8139



An important request: you should comment on this issue or offer to assist in
this matter if and only if you satisfy ALL of the requirements below:



1. Understand what a screen reader is from a technical level or at a
competent level where you can explain how it works to different audiences.
2. You have contributed NVDA source code edits at least once, or
reviewed the source code for research purposes. This excludes documentation
edits, translations, website contributions and other things outside of NVDA
Core source code changes.
3. You have genuine concerns about the state of the NVDA Core source
code.
4. You are willing to research and improve the source code to address
various concerns or raise issues not raised on the issue linked above.
5. You are willing to reach out to people outside of NVDA community
(computer science professors, researchers, students, Python experts,
software development gurus and others, both sighted and blind) in hopes of
recruiting them to help us with this work.
6. Skilled in at least two programming languages (C++ and Python
preferred).
7. Be an effective communicator as this project will involve a lot of
contributors.



Those in the NVDA community must meet ALL requirements above. Those outside
the community who are willing to help out and lend their
expertise/advice/funding/recruitment skills should satisfy at least
requirements 3, 4, 5, and 6. Also, outside folks who have knowledge of or
have experience in principles and practices of software development
(especially maintaining a large software system) are more than welcome to
join this effort.



As for what I will do: as the initiator of this proposal, I will reach out
to several software engineers who might show interest in this effort.
Although I might not be able to lead this effort up front (due to other
commitments, especially because I'll be competing in two national speech
tournaments in April 2018), I will try my best to offer help and leadership
in various capacities.



Comments from the whole community are appreciated.

Cheers,

Joseph