Une ligne trop longue peut être difficile à appréhender et ses intentions laborieuses à 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.
De plus, la modification d'une portion de ligne trop longue sera difficilement exploitable dans une revue de code. L'aperçu du diff aura tendance à noyer les modifications réelles dans la surbrillance de la ligne impliquée et nuira à la qualité de la revue de code
Toutes ces contraintes sont purement accidentelles et ne peuvent être justifiées par une richesse fonctionnelle sous-jacente, il n'existe aucune bonne raison justifiant une longue ligne.
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 une seule intention, et le code est bien plus aisé à parcourir.