{"action":"closed","issue":{"url":"https://api.github.com/repos/beardgame/utilities/issues/19","labels_url":"https://api.github.com/repos/beardgame/utilities/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/beardgame/utilities/issues/19/comments","events_url":"https://api.github.com/repos/beardgame/utilities/issues/19/events","html_url":"https://github.com/beardgame/utilities/issues/19","id":58794063,"number":19,"title":"Algorithms naming conventions","user":{"login":"tomrijnbeek","id":828553,"avatar_url":"https://avatars.githubusercontent.com/u/828553?v=3","gravatar_id":"","url":"https://api.github.com/users/tomrijnbeek","html_url":"https://github.com/tomrijnbeek","followers_url":"https://api.github.com/users/tomrijnbeek/followers","following_url":"https://api.github.com/users/tomrijnbeek/following{/other_user}","gists_url":"https://api.github.com/users/tomrijnbeek/gists{/gist_id}","starred_url":"https://api.github.com/users/tomrijnbeek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomrijnbeek/subscriptions","organizations_url":"https://api.github.com/users/tomrijnbeek/orgs","repos_url":"https://api.github.com/users/tomrijnbeek/repos","events_url":"https://api.github.com/users/tomrijnbeek/events{/privacy}","received_events_url":"https://api.github.com/users/tomrijnbeek/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-02-24T19:50:13Z","updated_at":"2015-09-10T13:01:54Z","closed_at":"2015-09-10T13:01:54Z","body":"Right now the algorithms are called by their actual name (e.g. `HungarianAlgorithm`). The question is whether we should keep this, or if we should actually rename them to the problem they solve (so in this case: `MinimalMatching`). The argument for this is that the implementation of this solving algorithm could change. In this particular instance: the performace of the class could be improved by switching to a new algorithm that uses Ford-Fulkerson on a bipartite graph. This implementation should then be hidden for the end user, as having both would not be beneficial under this instance.\r\n\r\nOn the other hand, one could argue that there is value in having multiple shortest path algorithms. Dijkstra can't deal with negative edge weights, but is fast. Bellman-Ford is slower, but is more flexible with the edge weights. Considering the expected experience of the users of this library, both algorithms could be given as option.\r\n\r\nHence the question is whether the classes should be called `MinimalMatching`, `SingleSourceShortestPath` and `AllPairsShortestPath`, or `HungarianAlgorithm`, `DijkstrasAlgorithm` and `FloydWarshalAlgorithm`."}}