How do I best organize my development folder? [closed] - open-source

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I work on several development projects for multiple clients using various development tools and languages. Over the years I've lost my ability to organize my development folder. When I look at my development folder, it's just a big mess.
I've searched the .NET for best practices, but they are mostly about creating build scripts and the few discuss how to organize source trees, and those that do usually only concern themselves with one language.
Are there any ideas on how best to organize source trees using different tools, languages, and clients. Please bear in mind that some of the projects I work on are hybrids combining multiple languages.

My workspace folder is like this:
/workspace
/[client_name1]
/project_name
/ - project structure depends on ide and language (.net, java, python)
/[client_name2]
/[company_name]

I personally have subdirectories for each language, for my personal projects.
When having more than one client, I usually first create a client subdirectory, and in it each project (in case of many languages, first comes the language, then the project).
MYPROJECTS > Clients > Languages > Projects
In case of mixing more than one language in a project, I would do one of this:
-Use a language parent subdirectory for the main language the project uses
or
-Forget about the language classification and go directly to the Projects structure.
This works best for Clients projects. For MY projects (even though I may be a 'Client'), I insist in the Language classification, since I'm worried about the technologies used, and this structure lets me observe it at a glance...

\dev\workspace4clientA\
...
\workspace4clientB\projectX
\projectY
\projectZ
-- project organization dependant on language and tools
...
\workspace4clientC\
...

well I tried all of these, but things get hairy when you use more then one IDE/language/technology
for example I use flashBuilder, IntelliJ, and Sublime Text, Java/Javascript/actionscript so this approach mentioned above does not really fit the deal, also what about personal projects? and/or github projects, repositories? I am still looking for some good clever answer on this too...

Well, at work we use this schema:
/devfolder
/client1
/projecttype
/YYYYMMDD
For example:
/devfolder
/client1
/web-site
/20140301
/20140810
/client2
/app
/20141012

Related

How to contribute to open source as a student [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am a second year computer science major college student, I would like to start contributing to open source projects, I am proficient at python and java, and I have did some research regarding this topic and ventured onto sourceforge and apache, however I feel that the project listings on those site has a really steep learning curve, can someone recommend me some introductory open source project listing that can lead me to contribute to some bigger projects, or perhaps my level of programming is not enough for open source contributions?
Any recommendations regarding the subject would be much appreciated
Why don't ask at your campus? At mine there are plenty of projects from and for students. That's the first step to go. Some projects also use opensource projects and manipulate them. So you only learn a bit of the opensource project. And for the next step many students contribute to the opensource projects that were used in the students projects.
Most open source projects need better documentation. You could pick one that you like and work on improving the documentation as you learn about the project. If you learn to write good documentation, that's a good career skill. And as you write it, you begin to learn enough about that project to work on the code before long.
If you are interested in contributing to Python , you can submit documentation and testing related patches in the beginning. Here are the steps on how to contribute. https://openhatch.org/wiki/Contributing_to_Python.
It can also help you in applying for Google Summer of Code and other Python projects.
Check out some projects that interest you ... to get an idea of what kind of projects to get involved in.
Here are some broad suggestions:
1) Have you heard of Google Summer of Code?
2) You could set up your own project in SourceForge, or some other repository.
3) You could check out what others are doing and get involved in their projects. Check out projects in SF, Freecode, or Google Code.
Don't put your coding ability down, put it to use. Projects can always use people for doing documentation as well. CHEERS, and happy coding to you!
Here's one more link that I saw today, and it reminded me of your question. The link suggests ten things you can do to be involved in open source.

Where do Open Source projects hold their design files? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I have seen many opensource project on github, sourceforge etc.
Went through the code on many big projects.
I have never seen ANY design diagrams, from simple class diagrams to sequence diagrams.
Also, many projects (not all) don't actually have any comments on their code.
How is this even possible? No design and some comments only.
This depends on the project at hand; design diagrams could be found in the source tree, or on the project's website, or any number of places. There may not even be design diagrams at all -- they're not strictly necessary for software development.
The reality is that most industry strength software is written without design diagrams, class diagrams and/or other UML style documentation.
Why? Because most experienced developers (including me) do not see enough value/cost benefits from doing it.
Developers are relatively quick to adapt tools that are practical and helpful (test tools, source control, code analyzers, profilers etc.) so it is not a question of developers being "old dogs" and/or not wanting to improve the tools they use. If design diagrams etc. actually helped speed up development and/or improved product quality then it would be used a lot more than it is. However it doesn't so it isn't. And this is despite 30+ years of "guru" after "guru" trying to push yet another box/sphere/line tool down developers throat :-)

Structure of open source project's repository [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I'm in the beginning of starting a small open source project. When cloning the main repository one gets a complete build environment with all the libraries and all the tools needed to make an official installer file, with correct version numbers.
I like the fact that anyone who wants to contribute can clone the repository and get started with anything they want. But I'm thinking this makes it to easy for Evil People to create malicious installers and release into the wild.
How should it be structured? What do you recommend including in the repository, versus keeping on the build server only?
Leaving out your support libraries and build tools makes it a huge pain for:
anybody who just wants to try out the software, perhaps on a platform for which you haven't provided an installer, or from a newer version that you've already released
anybody who wants to contribute or hack on your project.
These are the people that you need to pull out all the stops to cater to in a project that won't have a marketing department pimping it out and won't have a full-time paid team developing new features and fixing bugs (aka, personal/open-source/hobby projects).
Nobody is going to play around with or hack on your project if its a huge pain in the ass to even get it to build, and they'll just move on to the next thing. Somebody who, for whatever reason, has an interest in spoofing your software with malicious intentions, is already going to be putting in much more effort than it would take to hunt down a few other packages to put an installer together, so you're deterring the wrong subset of users for no appreciable gain. (Consider it a form of security through obscurity. Which never works.)
Focus on making your repository accessible to users and other developers.
As an aside, people who are downloading and building software should be in the habit of checking the code anyways, or at the very least deciding whether or not they trust the distributor before installing and running stuff locally.
What you seem to be looking for is a directory layout. You tagged your question language-agnostic, but it does depend on the language(s)/framework/build tool you want to use. To give you some examples
Standard directory layout if you build with maven
For mixed languages
django and ruby can create a default layout for you
It won't stop Evil People do evil things, but it will help your potential contributors.

Which open source project would you recommend contributing to? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
What open source projects would you recommend as a good place for a starting open source developer? Factors that I think would be important are some obvious ones like well written code and a community that is helpful to newbies. But it might be nice if the code base is such that I can start hacking some small problems without really understanding the details of how everything works.
I'd prefer something that can be developed on Linux using C/C++/Java/Python/Scala.
Trying to pick a project like that will never work because it's not something you're passionate about. What's an open source project that you use daily or enjoy using? Go work with that one.
It really depends on what your interests are as to what project to dive into.
Rationale for a larger project (e.g. Firefox, OpenOffice, etc) is that it has many developers, a well established code base, and many small tasks/bugs to be worked out.
Rationale for a smaller project is that you will become more intimate with the code and application. You will likely get to know other developers on the team and understand the overall concept better. Additionally, your additions to the project may be more noticeable.
sourceforge has a list of projects seeking a new developer. Therer are several for your requested programming languages:
http://sourceforge.net/people/?category_id=1
Apart from developers they have more help requests:
http://sourceforge.net/people/
Pick one you use and like already.

Open Source login systems, what is good? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I am starting a a new web development project and I am tired of coding login systems. This is the kind of thing that must have been done dozens of times before. I really want to use someone else's code, because it is easier than rolling my own, and it will likely be better. I prefer open source for all the usual reasons, but mostly I want the ability to change it if I don't like something and bugfixes are easier than designing a whole thing.
I just need a login system, something that manages the username/password stuff and user registration. I don't need a whole CMS.
I am already looking at openid.net, but What open source login systems have you worked with? What other login systems have you heard of?
OpenID works really well. Given the recent wave of adoptions, I think OpenID is the best bet. It is cross-platform and has libraries for all the major development platforms (php, python, perl, ruby, .net, java, c++). I have implemented it for DotNetNuke and found it was relatively painless.
OpenID is definitely the best solution and there are plennty of open source libraries for all kinds of languages out there. Hava look at openidenabled.com.
I don't know what technologies (language & platforms) you prefer or have as requirements, but we have implemented CAS at my workplace and it has worked pretty well.
CAS itself is implemented in Java, but as the frontpage says, it has client libraries and integrations to numerous other technologies and pltaforms.
I wound up going with mod_auth_openid. It is super simple and prevents unneeded complication at other levels. but the code is not perfect, and I may have to adjust it later.