The FAQ of Programmers describes this site as a site for professional programmers who are interested in getting expert answers on conceptual questions about software development .
Since business logic is an important part (in fact its the foremost deciding factor in software) of the programming model, I think there must be certain guidelines as to which parts of the business logic may and may not be discussed here.
Edit 1: Example
Assuming a simple e-ticketing system for an event. The business logic here is
Check ticket availability -> If available book an order and proceed to checkout -> If checkout successful reduce ticket qty else cancel transaction
So the most probable design (for simplicity's sake) would be to have a counter for tickets, a order system and a checkout module. Now just have a list of questions and where they fall?(parenthesis indicate my suggestion)
- When to update my counter; before or after transaction? (possibly Stack Overflow)
- How to implement a queue algorithm? (Theoretical Computer Science)
- Should I create separate tables for orders and counters (belongs at Code Review)
- What to do when two users simultaneously access the system? (cannot decide)
- What is the generally accepted practice (vague but a general answer be provided)
- What checkout module is available in Python? (definitely Stack Overflow)
But I believe the following questions be asked here?
- Can I implement a single queue or a multiple queue? (architecture)
- How can I prioritize my queue? (algorithm)
- Should I completely lock the counter when a transaction is in place or have a cached copy? (design)
- Shoud I isolate orders from counter (design)
Can these questions be asked about business logic?
- I have implemented the above logic for a single event. How to apply it for multiple events?
- If ticket not available, the user must be put in a waiting list and must be allocated when a user cancels transaction. How about this implementation?
I believe these questions must never be asked here
- Is my business logic right?
- What web application should I use?
Could even give an elaborate example if required