-
Notifications
You must be signed in to change notification settings - Fork 82
Home
Lydia Buntrock edited this page Oct 6, 2021
·
121 revisions
Archive 2021-10 Old Wiki
- Weekly Todos -- let's track our weekly progress
- Agile Project Execution -- Be an agile samurai βοΈ!
- Group Organization -- Never miss a meeting!
- Retrospectives -- How we conquer the world!
- Core Meeting notes -- Summary of strategy meetings for design decisions.
- Initial requirements (Seqan3 dependencies, compilers, platforms)
On Modern C++ and design patterns used in SeqAn:
- Modern Cpp -- A list of recommended readings of modern C++
- CppSessions -- Slides to former cpp sessions about modern C++
- Concepts TS -- a small guide to C++ Concepts
- Dynamic and Static Polymorphism
- Ranges -- a small guide to C++ Ranges
- Strong Types -- a small guide to use strong types for expressive coding
- CRTP π -- the Curiously Recurring Template Pattern
- Library structure -- filesystem, module and namespace hierarchies
- File structure and naming -- where to find/put what inside a file
- General formatting -- Spacing, Indention, Alignment and Naming
- Functions -- functions, arguments, return types...
- Metafunctions -- "functions" always evaluated at compile time
-
Exceptions -- exception safety guarantees,
noexcept
specifier
from old_home:
- Classes and Structs --
- General Design Changes
- Style-Guide
- Namespaces
- Function parameters
- Thread Safety
TODO: rework or remove these:
- The Git Repository Structure -- what to find where
- The Git workflow -- how to create commits and pull requests
- The Contributor License Agreement -- you need to sign this
- Good Code Reviewsπ -- worth reading
- The Software Management
- Unit tests -- Maintaining correctness
- Benchmarks -- Maintaining performance
- Continuous Integration
- ?
- SSH -- ssh in connection with the fu-berlin servers
TODO
Documents on high-level design decisions in certain modules:
-
Argument Parser
seqan3/argument_parser
-
Alphabet
seqan3/alphabet
-
ranges
-
Containers
seqan3/containers
-
Containers
-
Alignment
seqan3/alignment
- find
- graph
- search
-
Indexes
seqan3/index
- Input/Output
seqan3/io
- stream tokenisation, virtual_stream
- Sequence (Fasta, Fastq...)
- Alignment (SAM/BAM/CRAM, Blast)
- Structure (vienna)
- annotation (GTF, GFF...)
Drafts for new modules:
- I/O
- Tokenization -- Specification of Tokenization
- Stream -- Streams in SeqAn3