The Internet Protocol is primarily about routing to other networks. When you define your subnet you are stating when traffic is to be routed away through the default gateway and when it should be handled by the local network protocols.
When communication is to take place between two hosts within the same network segment, IP translates the addresses to the underlying (presumably) Ethernet protocol using ARP.
Some organisations or network providers use large “Ethernet” networks. You can do clever things using spanning tree protocol to create fault tolerance. You can implement network controls at the Ethernet level rather than IP level.
There are risks to having a large segment. A badly behaved host (or hosts) could generate broadcast traffic that saturates the segment. This would depend on what protocols are in use and how much broadcast traffic they generate. Depending on your switch, multicast traffic might not be handled efficiently either.
These are not necessarily show stoppers.
Historically some routing protocols could not distinguish between different subnets with a high level of granularity. Addresses were categorised as class “A”, class “B” or “C” which in turn defined the subnet mask length as /8, /16, or /24 respectively. This is more relevant if your addresses are public. This has since become less relevant as the availability of public IPs has decreased and firms have begun to adopt CIDR (classless inter-domain routing). Many IP registrars require most address assignees to have at least 50% utilisation which again encourages people to use smaller subnet sizes. Again, this is mainly relevant if you are using public address space.
One downside with some 10.x.x.x addressing is that if you have users connecting from remote networks, if they too use the same 10.x.x.x addresses, that can create some routing problems.
In conclusion - a large 10.x.x.x network is fine.
10.0.0.0/16
is no easier or more difficult than10.0.0.0/17
and10.0.0.0/23
. It's all calculated the exact same way. In any case, the rule of thumb is that your business needs to plan for 10x growth, and if your plan is comfortable and works with that, then your are good. The company I work for doesn't have enough private addressing, even using all three private address ranges, because of past sloppy choices, and it is much more difficult to go back and make changes than it is to do it correctly in the first place.