Должен ли я сохранить путь с завершающим косой чертой или без нее, что соглашение - программирование
Подтвердить что ты не робот

Должен ли я сохранить путь с завершающим косой чертой или без нее, что соглашение

Я всегда смущаюсь, следует ли добавлять конечную косую черту в конце пути и часто смешивать ее, приводя к тому, что какой-то файл не найден. Пример с drupal:

$base_theme = '/sites/all/themes/myTheme/';

или

$base_theme = '/sites/all/themes/myTheme';

Путь изображения может расширить базовую тему:

$base_image = $base_theme.'images/';

или

$base_image = $base_theme.'/images';

Есть ли какое-либо соглашение? Или я могу выбрать, какой из них я предпочитаю?

Я бы решил закончить весь путь с завершающим слэшем, поскольку слишком много косой черты лучше, чем без косой черты.

4b9b3361

Ответ 1

TL; DR: Нет никакого реального соглашения. Конечная косая черта будет более удобной для распознавания в глобальном масштабе. Важно то, что вы последовательны в своем дизайне и четко говорите о своем использовании.


Нет никакого реального соглашения; но есть соображения.

Преимущества в трейлинг-косе:

  • Трейлинг косой черты обычно указывает путь к папке (или префикс URL), тогда как расширение файла обозначает прямую ссылку на файл. (Подумайте example.com/home/ VS example.com/style.css).
  • Это обычно более дружелюбно для людей, прибывающих из UNIX, и таких, как в терминале, четкое соглашение заключается в том, чтобы оставить конечную косую черту для каталогов.
  • Как программист - добавление конечной косой черты приведет к менее вероятным ошибкам программиста; например: случайное добавление второй косой черты будет выглядеть уродливым (http://example.com/styles//myfile.css), но не сломает ссылку на файл. Забывание косой черты: http://example.com/stylesmyfile.css, однако поведение может быть запутанным для строк запроса: http://example.com/thread?id=1 VS http://example.com/thread/?id=1 < - результат действительно зависит от того, как вы обрабатываете свой .htaccess.

Преимущества в бездорожью:

  • Prettier, некоторые могут сказать
  • Легче запомнить и более читаемо всегда добавлять косую черту при добавлении путей к переменной, чем нет. то есть легче запомнить $baseURL . '/path.php' чем $baseURL . 'path.php'