[nvda-addons] Re: commit/wintenApps: 2 new changesets

  • From: James Scholes <james@xxxxxxxxxxxxx>
  • To: nvda-addons@xxxxxxxxxxxxx
  • Date: Mon, 8 Feb 2016 00:15:05 +0000

Joseph Lee wrote:

Technical: Cortana can provide text responses as well as speech
output.  In order to support announcement of text responses,
searchui.py has been added to WinTenApps (borrowed from NVDA Core
version) which adds name change event handler.

You're duplicating code from NVDA core in order to extend it.  As a
result, when you, or another core contributor, updates the code you've
borrowed in its original place, those updates (i.e. probable
improvements) won't reach your app module until you've updated your code
as well.  This is pretty inefficient, and generally bad practice to
boot.  Not only that, but your app module will, presumably, take
presidence over NVDA core code, meaning that as long as a user has your
add-on installed, they will miss out on any changes made to the original
app module written by other NVDA devs.  And you'll have to do more work
to make sure both versions of the same code are kept in sync.

Or, to put it another way, people will start reporting issues with the
search UI that were fixed a long time ago, but because you won't have
updated your duplicated app module for a while, the users will think
something is still broken.  Add-ons exist to facilitate extension, not
pointless duplication.

If the code is already there, import it, subclass it, make it better
while taking advantage of future NVDA development at the same time.
-- 
James Scholes
http://twitter.com/JamesScholes
----------------------------------------------------------------
NVDA add-ons: A list to discuss add-on code enhancements and for reporting 
bugs. 

Community addons are available from: http://addons.nvda-project.org
To send a message to the list: nvda-addons@xxxxxxxxxxxxx
To change your list settings/unsubscribe: 
//www.freelists.org/list/nvda-addons
To contact list moderators: nvda-addons-moderators@xxxxxxxxxxxxx

Other related posts: