Limiter la longueur des lignes

Une ligne trop longue sera difficile à apprehender et ses intentions laborieuse à comprendre :

CreateClassroomCourseSessionForPublicCoursesJob::dispatch(RecurringCoursesForTeacher::from($teacher->id, $period->getEndDate(), Carbon::createFromFormat('d/m/Y', $untilDate), $fakeRecurringWeekCourses));

Une ligne de code trop longue peut devenir pénible à parcourir, nécessitant un défilement horizontal en plus du défilement vertical habituel.

Cette contrainte peut accentuer une fatigue oculaire et une lecture moins fluide en augmentant le nombre de fixations oculaires nécessaires.

La modification d'une portion de ligne trop longue sera également plus difficilement exploitable dans une code review, noyant les modifications réelles dans la surbrillance de la ligne impliquée et nuisant à la qualité de la code review.

Toutes ces contraintes sont purement accidentelles et ne peuvent être justifiées par une complexité sous-jacente.

Réorganiser la ligne précédente en plusieurs lignes en formant des blocs logiques sera bénéfique à l'expressivité du code et relativement simple à implémenter.

N'ayez crainte d'écrire en plusieurs lignes ce que vous pourriez faire en une, la programmation n'est pas un exercice de concision:

CreateClassroomCourseSessionForPublicCoursesJob::dispatch(
    RecurringCoursesForTeacher::from(
        teacherId: $teacher->id,
        startDate: $period->getEndDate(),
        endDate: Carbon::createFromFormat('d/m/Y', $untilDate),
        recurringWeekCourses: $fakeRecurringWeekCourses,
     )
 );

Désormais chaque ligne détient sa propre intention et le code est bien plus aisé à lire.