Comments (11)
But a more common structure would always be nice. The Python, C++ and some more repos all follow a pretty similar structure already, so I think we should take that as a reference for the other repos.
But for some repos, like the C# one, this seems like a very drastic change and I don't think the maintainers would like that.
from website.
I've gone ahead and created a new issue for that #64
from website.
These errors are due to different structure of each repository. I think we should bring all repositories to a common standard.
from website.
Hmm thats true but a bit difficult to do. In the meantime, we've made a more general script that can be used to create the DIRECTORY.md
files in the different repos via a workflow (replacing the ones that are already there).
from website.
But for some repos, like the C# one, this seems like a very drastic change and I don't think the maintainers would like that.
Emm we should restructure such repositories
from website.
In C# tests are written separately, DS and Algorithms are also placed separately. In general, each file should have it's own test function and we are supposed to execute those tests in CI to ensure the correctness of implementation. And instead of arranging the algorithms and DS separately, we should arrange them according to categories as in C++/C
from website.
@siriak what do you think about those changes?
from website.
In C# tests are written separately, DS and Algorithms are also placed separately. In general, each file should have it's own test function and we are supposed to execute those tests in CI to ensure the correctness of implementation. And instead of arranging the algorithms and DS separately, we should arrange them according to categories as in C++/C
- Putting algorithms and DS together in a single project is no big deal, it's just cleaner to keep them separate IMO.
- There is a 93% code coverage in the C# repo and everything is well covered with tests.
- Tests are already running in the CI pipeline.
- We don't put test code and code under test in the same project in C# because code under test must be in a library or app project, while testing code must be in a unit tests project.
- Placing code in multiple (>10) separate folders gives us 2 options: either make a project per top-level folder (not viable, will get cyclic references sooner or later) or make a single project (kind of ok, but where to put tests?)
from website.
I've reworked the whole process of how the algorithms get fetched for the website (the DIRECTORY.md
s are now obsolete), that means all the original issues should be fixed now. Do you think it is still a good idea to try to bring all the repositories to a common standard @ayaankhan98?
from website.
I've reworked the whole process of how the algorithms get fetched for the website (the
DIRECTORY.md
s are now obsolete), that means all the original issues should be fixed now. Do you think it is still a good idea to try to bring all the repositories to a common standard @ayaankhan98?
Yes, i think there must be a common standard for all the repositories.
Basically i think there is no need to maintain project type structure in such repositories, because each algorithm is independent of other and also each data structure is independent of other. It would be nice if we sum up one single algorithm in a single file (Implementation + Documentation + Tests). And arrange these files according to their categories. Most of the traffic of these repositories are among those peoples who are completely new to opensource or i would say who are new to computer programming (College undergraduates), our aim is to simplify the learning process by bringing all the generall data structures and algorithims under a single roof of The Algorithms. So, instead of creating a complex project strucutres i think it is better to keep things simple. we are not building any library or framework for algorithms, rather we are just simplifying the learning process.
from website.
I've gone ahead and created a new issue for that #64
Okay, Let's see what other maintainers think.
from website.
Related Issues (20)
- [FEATURE] Add repository code owners
- [OTHER] External links open in the same tab which spoils the SPA router
- [OTHER] Algo cards don't have same height
- [OTHER] Scrolling to sections with links not works as expected
- [OTHER] Some of footer links have missing hover
- [BUG] Paragraphs and headlines not aligned correctly in Arabic version HOT 2
- Bug: The search bar does not work properly HOT 3
- [BUG] The search bar shows results even if the input is empty. HOT 3
- Bug: Navigation Bar is not seeing properly HOT 3
- [CONTENT] Missing java ciphers on the website HOT 1
- There are a lot of space right side of 'PROGRAMMING LANGUAGES SECTION' HOT 2
- [FEATURE] Addition of a "Copy Code" button to the code interface HOT 5
- [OTHER]: Online client-side playground with test runner HOT 11
- [CONTENT] Two entries for Atbash cipher
- [CONTENT] Three entries to check whether a number is a palindrome HOT 1
- [BUG] Search Bar not Working on Safari HOT 1
- [FEATURE] Add a scroll-to-top button for easier navigation through the website HOT 1
- [CONTENT] Two entries for Caesar cipher
- [TRANSLATION ISSUE] Chinese translation error
- [BUG] Rust Icon on Website Broken HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from website.