Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/omaib/coding-test/blob/main/LICENSE)
[![Python](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-blue)](https://www.python.org)

## Introduction

Task performed.


## Objective

The current `cnn.py` implements multiple CNN classes that share similar initialisation logic, layers, and utility methods. Your task is to introduce a reusable `BaseCNN` class that captures shared functionality across the CNN variants, and refactor the remaining classes to enhance code maintainability and reduce redundancy.
Expand All @@ -13,6 +18,8 @@ Each existing CNN class should inherit from BaseCNN while preserving its current

This task assesses your ability to design for **reusability**, **efficiency** and **clarity**, as well as apply good software engineering practices: using pre-commit hooks and writing effective tests.

Editing `cnn.py` and `test_cnn.py` performed in this task.

## Key Requirements

- **Reusability**: Move the shared CNN logic into a new `BaseCNN` and remove duplicate code from subclasses.
Expand Down
Loading