Tworząc aplikacje z prawdziwego zdarzenia - zawierające kilka komponentów (np. nowości, artykuły, kategorie, komentarze) na znaczeniu przybiera wzorzec MVC. Code Igniter ułatwia lecz nie narzuca programowania według tego wzorca, tak więc musimy pilnować się sami.
- Tworzymy modele i tylko w nich operujemy na bazie danych. Oddzielny model dla każdego komponentu
- Tworzymy kontrolery - oddzielne dla każdego komponentu
- Nie umieszczamy kodu HTML w kontrolerach, tworzymi widoki o łatwych do skojażenia nazwach (widok z kontrolerem/metodą) lub umieszczamy je w podkatalogach
- Nazwy metod i samych klas powinny być zrozumiałe (np. get_latest_news dla metody modelu pobierającej ostatnie newsy)
- Zaleca się stosowanie języka angielskiego w nazewnictwie
- Umieszczaj komentarze przy metodach kontrolerów i modeli a także przy bardziej złożonych elementach kodu
- Rozpisz funkcjonalność komponentu, np. modułu artykułów. Jakie powinien mieć opcje
- Bazując na powyższym utwórz odpowiednie tabele w bazie danych
- Utwórz (wstępny) model operujący na tabel/tabelach (dodaj, usuń, zmień, pobierz itd.)
- Twórz po kolei kontrolery wykonujęce zaplanowane czynności/funkcjonalności
- Dla dużych projektów stosuj testy jednostkowe, kontrolę wersji (subversion, mercurial, cvs itd.) i inne rozwiązania ułatwiające prace wieloosobowych zespołów