Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gt-core design specification #12

Open
AndrewBerry opened this issue Jul 21, 2014 · 8 comments
Open

gt-core design specification #12

AndrewBerry opened this issue Jul 21, 2014 · 8 comments

Comments

@AndrewBerry
Copy link
Contributor

I think we need to put our heads together and come up with a solid specification for the gt-core and it's interfaces.

Once we have the spec down, the gt-core code base will be much easier to maintain and we won't have all these merge problems where we end up with multiple accessors for the same variables (see: Torrent::getSize()/getWanted()/getTorrentSize()).

Also we'll have some real documentation- new UIs will be much easier to create.

@fuyukaidesu
Copy link
Contributor

These belongs more in the "standards" part but :

  • Decide on method naming conventions (getTextSomething or getSomethingString ? I've seen both in the Torrent class)
  • Not include anything else than a single header in a cpp (Torrent.cpp should only include "Torrent.hpp" for example)
  • Put constructors as the first method of their files.
  • Remove inlines and const correctness until we have a stable release, these are a pain to debug and we only really need a subset of OOP.

@nyanpasu
Copy link
Member

@shotxxxx Thanks for your input. I would appreciate more details. Where exactly should Core be split into smaller classes? It's pretty simple right now, but preventing all sorts of stupid C++ features being introduced is a personal mission of mine, and I'm sure there are other devs who also object to all the bloat and spaghetti.

@benwaffle
Copy link
Member

@shotxxxx You can help by contributing to spec.md in the spec branch

@benwaffle
Copy link
Member

libtorrent handles session serialization

@nyanpasu
Copy link
Member

nyanpasu commented Apr 4, 2015

@shotxxxx I quite agree now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants
@benwaffle @AndrewBerry @nyanpasu @fuyukaidesu and others