Tag Info

Hot answers tagged

10

The gist of CI is to avoid any kind of long-term branches. If you have a team working on a product, a model opposed to CI is to pick a new requirement for a feature to develop for the product. Then the team creates a feature branch in the VCS, apart from the "trunk" or "master" branch, they develop and test the feature for several days in isolation, ...


7

When you're doing too much design to solve a basic problem, you're over-engineering. For example, when you're using an abstract factory pattern “just in case” in order to create a very simple object where the business logic is easy enough to fit in four-five LOC, you're over-thinking the design (and violating KISS and YAGNI). Note that it doesn't ...


6

The term you're looking is for is function composition, although I'm not sure if there's a more specific term for the special case of a function composed with itself.


4

Automated testing would be a term for just running the tests every day, even if you only merged the code into a complete state once a month, or never. Arguably a bad idea, because if you keep different strands of development in different long running branches you will be merging the tests and code at the same time. And if the features interact in any way, ...


1

"over engineering" means improving a solution when the cost of improving it is higher than the benefits of improving it. And "under engineering" means not improving a solution, when the benefits of improving it would outweigh the cost. Now guess what "right engineering" means... Since a "simple" solution was mentioned, and was somehow correlated to ...


1

Wikipedia has a suitable definition for Middleware. It says: Middleware is the software that connects software components or enterprise applications. [It] is the software layer that lies between the operating system and the applications on each side of a distributed computer network. Typically, it supports complex, distributed business software ...


1

One possible solution: Upon execution, create a temporary file and store the status in it. Useful to keep logs as well. Delete the file every time new execution starts and you no longer need it.


1

Concurrent execution is the generalized form of parallel execution. For example parallel program can also be called concurrent but reverse is not true. Concurrent execution is possible on single processor (multiple threads, managed by scheduler) Parallel execution is not possible on single processor but on multiple processors. (One process per processor) ...



Only top voted, non community-wiki answers of a minimum length are eligible