5a7e219d81
aa929abf8dc022e900755234c857541faeea8239 [docs] Update developer notes to discourage very long lines (John Newbery)
Pull request description:
Mandatory rules on line lengths are bad - there will always be cases where a longer line is more readable than the alternative.
However, very long lines for no good reason _do_ hurt readability. For example, this declaration in validation.h is 274 chars:
```c++
bool ConnectTip(BlockValidationState& state, const CChainParams& chainparams, CBlockIndex* pindexNew, const std::shared_ptr<const CBlock>& pblock, ConnectTrace& connectTrace, DisconnectedBlockTransactions& disconnectpool) EXCLUSIVE_LOCKS_REQUIRED(cs_main, m_mempool.cs);
```
That won't fit on one line without wrapping on my 27" monitor with a comfortable font size. Much easier to read is something like:
```c++
bool ConnectTip(BlockValidationState& state, const CChainParams& chainparams,
CBlockIndex* pindexNew, const std::shared_ptr<const CBlock>& pblock,
ConnectTrace& connectTrace, DisconnectedBlockTransactions& disconnectpool)
EXCLUSIVE_LOCKS_REQUIRED(cs_main, m_mempool.cs);
```
Therefore, _discourage_ (don't forbid) line lengths greater than 100 characters in our developer style guide.
100 chars is somewhat arbitrary. The old standard was 80, but that seems very limiting with modern displays.
ACKs for top commit:
fanquake:
ACK aa929abf8dc022e900755234c857541faeea8239 - this is basically just something to point too when a PR has unreasonably long lines for no particularly reason.
practicalswift:
ACK aa929abf8dc022e900755234c857541faeea8239
amitiuttarwar:
ACK aa929abf8dc022e900755234c857541faeea8239
theStack:
ACK aa929abf8dc022e900755234c857541faeea8239
glozow:
ACK
|
||
---|---|---|
.. | ||
gitian-building | ||
man | ||
release-notes/dash | ||
.gitignore | ||
assets-attribution.md | ||
benchmarking.md | ||
bips.md | ||
bitcoin_logo_doxygen.png | ||
build-cross.md | ||
build-generic.md | ||
build-netbsd.md | ||
build-osx.md | ||
build-unix.md | ||
build-windows.md | ||
dash-conf.md | ||
developer-notes.md | ||
dnsseed-policy.md | ||
Doxyfile.in | ||
files.md | ||
fuzzing.md | ||
gitian-building.md | ||
init.md | ||
instantsend.md | ||
JSON-RPC-interface.md | ||
keepass.md | ||
masternode-budget.md | ||
productivity.md | ||
README_osx.md | ||
README_windows.txt | ||
README.md | ||
reduce-memory.md | ||
reduce-traffic.md | ||
release-notes-16695.md | ||
release-notes.md | ||
release-process.md | ||
REST-interface.md | ||
shared-libraries.md | ||
tor.md | ||
translation_process.md | ||
translation_strings_policy.md | ||
travis-ci.md | ||
zmq.md |
Dash Core
This is the official reference wallet for Dash digital currency and comprises the backbone of the Dash peer-to-peer network. You can download Dash Core or build it yourself using the guides below.
Running
The following are some helpful notes on how to run Dash Core on your native platform.
Unix
Unpack the files into a directory and run:
bin/dash-qt
(GUI) orbin/dashd
(headless)
Windows
Unpack the files into a directory, and then run dash-qt.exe.
macOS
Drag Dash Core to your applications folder, and then run Dash Core.
Need Help?
- See the Dash documentation for help and more information.
- See the Dash Developer Documentation for technical specifications and implementation details.
- Ask for help on Dash Nation Discord
- Ask for help on the Dash Forum
Building
The following are developer notes on how to build Dash Core on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.
- macOS Build Notes
- Unix Build Notes
- Windows Build Notes
- OpenBSD Build Notes
- NetBSD Build Notes
- Gitian Building Guide
Development
The Dash Core repo's root README contains relevant information on the development process and automated testing.
- Developer Notes
- Productivity Notes
- Release Notes
- Release Process
- Source Code Documentation TODO
- Translation Process
- Translation Strings Policy
- Travis CI
- JSON-RPC Interface
- Unauthenticated REST Interface
- Shared Libraries
- BIPS
- Dnsseed Policy
- Benchmarking
Resources
- Discuss on the Dash Forum, in the Development & Technical Discussion board.
- Discuss on Dash Nation Discord
Miscellaneous
- Assets Attribution
- dash.conf Configuration File
- Files
- Fuzz-testing
- Reduce Memory
- Reduce Traffic
- Tor Support
- Init Scripts (systemd/upstart/openrc)
- ZMQ
License
Distributed under the MIT software license. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. This product includes cryptographic software written by Eric Young (eay@cryptsoft.com), and UPnP software written by Thomas Bernard.