This coursebook is for you if you want to write programs with more than 1000 lines.
You feel comfortable with writing basic Python code, but have realized that creating a piece of software is more complex. You are facing questions like:
- How to organize code into functions, classes and modules?
- How to clean up my code?
- How to make sure my program works?
- How to keep the program running over time?
- How to install my program on multiple computers?
Below you find development tools and techniques that help you to write programs that get the job done and don’t fall apart.
.. toctree:: :maxdepth: 1 software_engineering/README.rst software_engineering/prototype.rst software_engineering/code_review.rst
.. toctree:: :maxdepth: 1 getting_started/virtualenv.rst getting_started/git_repo.rst getting_started/structure.rst
.. toctree:: :maxdepth: 1 testing/facade.rst testing/unit_test.rst
.. toctree:: :maxdepth: 1 functions/levels.rst functions/function_parameters.rst functions/scope.rst functions/generators.rst functions/functools.rst functions/decorators.rst
.. toctree:: :maxdepth: 1 shortcuts/collections.rst shortcuts/comprehensions.rst shortcuts/enums.rst
.. toctree:: :maxdepth: 1 structure/main_block.rst structure/commandline_args.rst structure/modules.rst structure/namespaces.rst
.. toctree:: :maxdepth: 1 classes/classes.rst classes/inheritance.rst classes/composition.rst classes/class_diagram.md classes/operator_overloading.rst classes/abc.rst classes/decorator_class.rst classes/metaclasses.rst
.. toctree:: :maxdepth: 1 quality/continuous_integration.rst quality/
.. toctree:: :maxdepth: 1 error_handling/debugging.rst error_handling/interactive_debugger.rst error_handling/exceptions.rst error_handling/warnings.rst error_handling/logging.rst
.. toctree:: :maxdepth: 1 performance/profiling.rst concurrency/README.rst
.. toctree:: :maxdepth: 1 challenges/factorial.rst challenges/sorting.rst challenges/dice/dice.rst challenges/tennis.rst challenges/memory/memory.rst challenges/magic_square.rst challenges/josephus.rst challenges/binary_search.rst challenges/tree_traversal.rst challenges/maze.rst challenges/backpack_problem.rst challenges/chained_list.rst challenges/tsp.rst challenges/blockchain.rst challenges/metaclass.rst
.. toctree:: :maxdepth: 1 project.rst hall_of_fame.rst
.. toctree:: :maxdepth: 1 links.rst