Git Product home page Git Product logo

alx-higher_level_programming's Introduction

Alx High Level Programming ๐Ÿ‘จโ€๐Ÿ’ป

Description

Alx Holberton's curriculum for high-level programming include the following projects that are meant to help us learn how to use and apply the basic fundamental concepts from low-level programming in C on a different programming language - Python.

Table of contents ๐Ÿ“‚

Python:

Specifications

Python Scripts:

  • The first line of all files is exactly #!/usr/bin/python3
  • The code uses the pycodestyle (version 2.8.*)
  • All modules are properly documented
  • All classes are properly documented
  • All functions are properly documentated
  • All the files end with a new line
  • All the files are/should be executable
  • All the files can be interpreted/compiled on using python3 (version 3.8.5)

Shell Scripts:

  • The first line of all files is exactly #!/bin/bash
  • All the files end with a new line
  • All the scripts are exactly two lines long (wc -l file should print 2)
  • All the files are/should be executable

C Scripts:

  • No global variables were used
  • No more than 5 functions per file
  • The code uses the Betty style.
  • All the files end with a new line
  • The prototypes of all functions are included in the header file called lists.h
  • All the header files are include guarded

Python Test Cases:

  • All test files are inside a tests folder
  • All test files are text files (extension: .txt)
  • All tests are executable using this command: python3 -m doctest ./tests/*
  • All modules are properly documented
  • All functions are properly documentated
  • All the files end with a new line

.txt Answer Files:

  • Only one line
  • No Shebang
  • All the files end with a new line

Python Unit Tests:

  • All test files are inside a tests folder
  • Make use of the unittest module
  • All test files are python files (extension: .py)
  • All test files and folders start with test_
  • File organization in the tests folder is the same as your project: ex: for models/base.py, unit tests must be in: tests/test_models/test_base.py
  • All tests are executable using this command: python3 -m unittest discover tests
  • Test file by file by using this command: python3 -m unittest tests/test_models/test_base.py
The Zen of Python

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

by Tim Peters

Author

Igbinijesu Samuel - Samuel-IG16

alx-higher_level_programming's People

Contributors

samuel-ig16 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.