0

https://softwareengineering.stackexchange.com/questions/130676/starting-a-new-project-in-python-and-qt-where-can-i-find-a-good-code-layout-for

ok, so one starts a new project, from scratch. Empty dir. This project must be laid out so that the programmers can work with it and test it, it must sport most likely something like the libraries the project is going to be dependent on and that will be added to the delivered package, it must have a set of scripts and techniques to make the program compile on the target platforms one ships to, and so on. This is such a common problem, but never in my career of programming I've met the "proper way to do it". Plenty of books on proper code design and testing and code style, but never I found an example of actual industrial-level deployment from source to product. Everyone reimplements his own solution, oftenmost a huge hack which stays together with spit.

I simply don't believe this is a problem that is not documented or explained everywhere, and I also think that it's an important and well presented issue that any programmer that is involved in shipping an application, and not just coding it, must face potentially at a very complex level, since a single error may mean inability to compile on a new platform, to test, shipping the wrong files and so on. It is a programming question that most likely has a well definite answer, which can range from "The best practices are defined in this book, or this website" to "this package which is publicly accessible uses a strategy which is the recommended best practice for such application". I can accept if nobody answers because nobody knows the answer, but I can't accept that the question is not fit for this site.

1

3 Answers 3

7
  1. As your question is now, it is asking for build/deployment management solutions, which is extremely broad.
  2. Do you intend to use a solution that someone would provide, or do you just want to see it as an example for something you want to create, those should be separate questions and if you only want one of those make it more clear. also you are asking for general advice/suggestions, which should be yet another question, which would have to be asked carefully or it would be closed because the answers it invites are not ones that are wanted on this site.
  3. Your question shows no research effort that you have tried to find a good solution, you say you have done research, but the question doesn't show that. Edit your question to explain that you tried using X to manage deployments, but you didn't like how it requires Y or doesn't work well with Z. You could also list some solutions you have found and ask which is the better.
  4. Listing a bit about your target architecture would help, if you are renting from a hosting service that is different than using a converted desktop turned server, which is different than having your own clustered/distributed servers.

P.S. Your accept rate is not helping you get quality answers to begin with, going back to other questions and accepting an answer to raise your accept % will help you in the long run.

16
  • 1
    The research I did on this topic is plentiful and the final answer on this topic is "I don't have a clue since years but I am sure that on this great SE maybe someone knows something about it". As usual, I am wrong. There was a time when these SE sites actually gave me insightful, jewel answers, and I did the same (and my age and reputation on SO testifies it). Now, unless it's iphone development, hardly so. I am not angry at you. I am ill-disposed towards this new attitude of the SE community as a whole. To me, it sounds: "I don't know, I don't care, I can't google the answer. let's close it" Jan 18, 2012 at 14:30
  • @Ryathal Although you make a good point about the accept rate, I think it's irrelevant to this discussion. The question getting closed has nothing to do with accept rate.
    – yannis
    Jan 18, 2012 at 14:38
  • Ok, let's rework the point. I have a problem, as a programmer. I need an answer to that problem. How (or where) can I get it? Jan 18, 2012 at 14:45
  • Because this is instead extremely specific (/sarcasm), yet it got answered programmers.stackexchange.com/questions/118301/… Jan 18, 2012 at 15:06
  • @StefanoBorini I'm very close to flagging your comments as offensive. There is nothing wrong with the questions you linked to, and there are all sorts of wrong with yours, and people have wasted more than enough time trying to explain. If you want this to be a constructive discussion please reconsider your tone & attitude. The time you've already wasted, you could have used revising your question in one that fits the format and guidelines of the site.
    – yannis
    Jan 18, 2012 at 15:25
  • @StefanoBorini here is a good place to ask questions about programming not related to code, but it works similar to SO. SO frowns upon asking "how do implement a binary search tree?" because its asking the community to do all the work and shows no effort on the part of the asker, but if they listed code for their insert and search methods and asked "why the search isn't finding inserted values?" they would get an answer and it would be a valuable question. cont...
    – Ryathal
    Jan 18, 2012 at 15:31
  • @Zaph:My attitude comes from a stance on SE sites which is no longer compatible with the idea of a community of programmers having relative freedom in producing questions, potentially open-ended and not of easy answer, and relative answers touching a potentially complex or not clear topic. This change happened in the last two years and it made these sites less and less useful to me, and more and more annoying in looking that every time I have a question that may open a point many others have, it is slapped immediately with a flood of minuses and closes. This isn't the SO/E I helped to found. Jan 18, 2012 at 15:31
  • @StefanoBorini I believe you did research the question like you have said, but you question shows none of it, can you list something that didn't work for you, or something that felt too hackish to be a good solution, or even a list a features/capabilities that you expect.
    – Ryathal
    Jan 18, 2012 at 15:33
  • @Ryathal: I have no list. I just have a vague clue of a task that was never really mine. At work we use a shell script that compiles and builds most of the stuff, some before, some after, some in a way, some in another, noone knows. It's hackish, you change something on the platform and doesn't work anymore, it has to hack the lib binaries (another thing makes me puke) because they are not relocatable and much more. I have no idea if this is the right way, because nobody taught me how to do it properly, not apparently I can get an answer when I ask where to learn to do it properly. Jan 18, 2012 at 15:36
  • @StefanoBorini I don't care, unless you blame me personally. This is not an appropriate place to raise such concerns, try Meta StackOverflow instead. If you keep on spamming with irrelevant comments I'll have to flag them. You have enough rep on SO to know that's not a threat, or anything important really. If you ask constructively for an explanation of the closing of your questions and for how it could be improved, there are high chances it will be reopened. Revise your meta question to do just that. Otherwise, you are yet another troll.
    – yannis
    Jan 18, 2012 at 15:38
  • @Zaphod I won't modify the question because it will take me a lot of time in filling it details and I won't get an answer anyway both because it's already closed, and because it's already too downvoted. reopen the question and I will write a treaty, and then it will likely be closed again because I wrote too much. Jan 18, 2012 at 15:41
  • @StefanoBorini That's not how it works, and that wasn't what I suggested. Revise the meta question, as is it's way worse than the actual question.
    – yannis
    Jan 18, 2012 at 15:47
  • @Zaphod: sorry. I misread. In any case, thank you anyway. I'll ask on reddit as soon as it's back online. Jan 18, 2012 at 15:52
3

You do seem to be asking for a solution for how to best architect a python application and how best to deploy it.

That's too broad a question and can't be asked since architecture and deployment depends on the content of the project.

3
  • So where can I find an answer to it ? A guide, a reference, ideas where to start, a project with a good layout that may give me an insight ? I am not asking for the moon, I am asking one git repo containing one example of a nice deployment strategy for multiple platforms. Arch does not matter, language does not matter. It's not important, I need a template where to start from to get ideas. Jan 18, 2012 at 14:53
  • Purchase a book on the subject, there has to be examples on the internet, or do what many people in your position would do. Figure out the hard way: trial and error. You don't even know how your current system works, that is not a good sign, do that and you will have no problem doing this chore.
    – Ramhound
    Jan 18, 2012 at 16:26
  • @Ramhound: Ok, so if there are books I can purchase on the subject, what about putting those titles in the answer to my question then ? Jan 18, 2012 at 19:15
2
  • note the answer update below

As one of close-voters I can share what would definitely stop me from voting back then - or make me vote to reopen now that question is closed.

Given your comments in this question it feels quite doable:

I did my research and I am still open on this question since years, and nobody wants to give me a decent example to know how this is done in an appropriate way. All the repos I found generally are either made by people who does not care about quality (it's just a bunch of really hacked up scripts) nor platform transferability, nor addressing the different phases (development, testing, deployment, installing). In alternative, they give you fully CI/IDE solutions that are unreachable by a single developer.

Now, let's see...

  1. All the repos I found...
    • List these repos in your question.
    • If list is very long, list a few that looked best to you.
    • If it's very long and you can't select a few, just list them all in a "references" section at the bottom (it's not really hard to do)
  2. ...either 1) made by people who does not care about quality nor 2) platform transferability, nor 3) addressing the different phases 4) In alternative, they give you fully CI/IDE solutions that are unreachable by a single developer
    • Above makes your requirements - just list these in the question.
    • If you not only list reqs but also clarify which particular requirements aren't met by particular repos in previous list I mentioned then I would upvote your question instead of closing

...well - that's it.

update

Above applies only to old version of the question:

Since then it has been revised and I think improved sufficiently for reopening.

My downvote and vote to close are revoked at rev 2. At rev 3, I upvoted.

5
  • 1
    +1 for unashamed plug of that great answer of yours =)
    – Matthieu
    Jan 18, 2012 at 18:55
  • The point is that I have no guarantee to get a proper answer. I would have to do a lot of work to satisfy your requirements, which is beyond the investment I have, and in particular beyond the investment that I ask to those who answer to the question. My question was simple: get one known example of a good building strategy to use as a starting point, remembered from a casual browsing that someone may have had in the past, or from experience obtained at work. My question requires one or two examples satisfying such request for being a correct answer. Jan 18, 2012 at 19:09
  • If I have to spend more time in crafting the question than to find the actual example and browse the solution they implemented, I am already beyond the deadline I have to respect. If you can't help me, just don't answer the question, but closing it or downvoting it is, I am sorry, wrong. The question is clear and unambiguous: I need an example. The answer is clear too: one example, any example that appears decent for a start. End of story. Jan 18, 2012 at 19:11
  • Similar question with a potentially generic and open ended problem programmers.stackexchange.com/questions/130741/… . Is "research" evaluated by the fact there's a picture ? Jan 18, 2012 at 20:01
  • @StefanoBorini I think I understand. Well, if you at least did the "part 2" - I mean listing some of your requirements - this would probably make it pass through to me. How much time did it took you to write that comment where I took your reqs from? If even this looks beyond the investment then I guess you may want to take a look at Q&A is Hard, Let’s Go Shopping!
    – gnat
    Jan 18, 2012 at 22:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .