-
Notifications
You must be signed in to change notification settings - Fork 0
uiopaubo/ELIXIR-exercise
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Introduction ============ This repository contains programs, libraries, data files and documentation for an exercise in processing different file types. Since it will be made publicly available, although perhaps not forever, it has been adorned with licensing information to communicate its origins and status for further use, modification and redistribution. Although an apparently simple exercise, numerous aspects of it can conspire to produce erroneous solutions to the individual tasks. Hopefully, this has been avoided here! The segment overlapping task is a familiar endeavour, its essence found in applications like calendar event scheduling and document annotation amongst many others. For my own interest, I considered some of the more formal aspects of this task, and my notes on the topic are present in the docs directory. Other aspects of the work presented here can be discussed, including testing regimes, error handling, input validation, the presence or absence of data type declarations, the genericity and extensibility of certain abstractions, potential enhancements, the provision of software packaging metadata, and so on. It would be possible to improve the work in all of these areas, but sufficient effort has probably already been expended for the purpose of this exercise. Some of the choices in various areas of improvement would involve adhering to the conventions already established in an existing project or environment. For example, there might be a particular framework in use for exposing functionality as command line tools, replacing the tentative measures employed here for handling command arguments. Here, no effort has been made to use third-party packages to provide such functionality. Deliverables ============ The program performing the tasks described in the exercise is located at the top level of this repository: process_files It provides guidance if run without arguments, but it should be presented with two arguments, each of which being either a segment or function file, as described in the documentation for the exercise. The supporting functionality has been delivered in the form of Python modules: coverage.py functions.py segments.py These might have been placed within a common package, but this might be excessive for this exercise and for such a small amount of code. Some notes describing the approach to the exercise can be found in the docs directory: Activities.txt - describes the activities/tasks and the approaches used Formats.txt - summarises the data formats involved Notes.txt - a more detailed consideration of segment data characteristics Testing.txt - a discussion of testing Along with the supplied example data, some additional testing data has been provided in the tests directory, along with a testing script located at the top level of this repository: run_tests This indicates a simple approach for validating the behaviour of some of the functionality by performing operations and comparing the result to a previously determined expected result. Such an approach would be only one of several approaches in a larger, more comprehensive system. Copyright and Licensing Information =================================== Comprehensive licensing information is provided in the individual files, together with information in the .reuse and LICENSES directories.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published