Just started using DCC++Ex and JMRI. Love it! I'm after advice on how best to organize loco addresses, accessory addresses and other best practices. Right now I'm using short addresses, Should I move to long and what is the difference? Does DCC know the difference between a loco and accessory decoder, can I have a loco using address 100 and a accessory decoder use the same? I only have a handful of locos and accessories but I want to plan best for the future when I expand.
As a user there is no difference really. It is all about encoding of the address in the DCC packets that are sent to the rails. I wouldn't worry too much on it really. Yes the DCC spec defines two different packet structures that allow accessory decoders to be addressed from 1-2044 (in address mode) or 0-511 (in board mode, up to eight output ports that are usually grouped in pairs as 0-3). DCC++ uses board address mode by default, but JMRI can convert it from a user friendly DCC address to the boardort format automatically when you define the turnout in JMRI.
If you intend to run your locomotives on a club layout, you might check with them to see what constraints or standard practices they may have, at least for your locomotives.
^^^ This! I always set my DCC address for my loco as the loco's road number. This works well unless you get someone in a club setting that has the exact same loco as you and you both want to run at the same time. As for accessory decoders and addresses I have seen a couple different schemes but it was always at owner's discretion. So for that make something that works for you. For example set your layout in cardinal directions and assign a number to each direction N=1 W=2 S=3 E=4 or whatever. Then give the switch in each location a 2 digit number so your north #3 switch would have an address of 103, but your east #3 switch would be 403. That will give you up to 99 switches/accessories per direction.