Попробуйте изменить $found = strpos($file,$string);
на $found = strpos($line,$string);
Я делаю то, что чувствую. В целом, ваша лучшая практика заключается в том, чтобы ошибиться в пользу удобочитаемости, а не соблюдения какого-то абстрактного стандарта.
Просто будьте последовательны.
"Id" is ambiguous. Is it part of the "ego" / "superego" model of the human psyche? Probably not: you probably are trying to abbreviate a word, like "Identity" or "Identification" or "Identifier".
Get rid of the ambiguity (and the casing question) by deciding what you mean and then don't abbreviate.
У разных языков разные рекомендации. Для .NET вы можете прочитать Руководство по разработке инфраструктуры: условные обозначения, идиомы и шаблоны для многократно используемых библиотек .NET . Для Java вы можете прочитать Соглашения о коде для языка программирования Java .
Я предпочитаю использовать Id, и в нашей компании стандартом является также Id over ID. Я не думаю, что есть проблема с использованием ID, если вам легче читать. Компилятору все равно :) Я использую то же соглашение в моих столбцах идентификатора схемы.
ID в столбцах базы данных и свойствах объекта. id в параметрах:
this.ID == id
Я согласен с другими ответами о том, что самое важное - быть последовательным.
Я бы добавил, что если не существует установленного стандарта для вашей конкретной кодовой базы, вам следует следуйте соглашениям, установленным вашим языком или платформой. В Java аббревиатуры и другие заглавные слова некапитализированы для идентификаторов:
id
url
getId()
setUrlParameters()
В Objective-C все наоборот. У вас может быть строчная переменная "id" или "url", но у вас также есть классы, такие как:
NSURL
NSURLRequest
. Поэтому в Obj-C я бы выбрал имя метода, например:
setURLParameters:
Что бы вы ни чувствовали, пока вы остаетесь последовательными в своих собственных программах. (Если вы работаете в команде, вы должны следовать правилу команды или установить какое-либо из них.)
Одним из моментов, который не был упомянут, является важность получения хорошего шрифта. Это сделает чудеса с читабельностью вашей программы, и может случиться так, что ваша проблема соглашения частично связана с проблемой шрифтов:
Если вы не можете легко отличить Id от ld (Id и ld)
, вам следует изменить шрифт и, возможно, размер шрифта. Лично я люблю Консоласа.
FxCop / Code Analysis пометит ID как неправильную аббревиатуру, поэтому, если вы хотите избежать отключения правила, вы можете согласовать и использовать Id по этой причине. Но опять же, это действительно не имеет значения, если вы последовательны, как уже отмечалось другими.
В Машина SUIF , Майк Смит и Гленн Холлоуэй жестко обеспечивает соблюдение прецедентного соглашения о том, что заглавная буква обозначает новое слово. Таким образом, хотя CPS является аббревиатурой, это transformToCps
, а не transformToCPS
. Я обнаружил, что в долгосрочной перспективе их метод работает лучше, чем мы сделали в Quick C - , где мы обычно делали все заглавные буквы для таких случаев, как ID и CPS.
Я думаю, что удобочитаемость имеет первостепенное значение и должна перевесить ваше соглашение, если оно сделает его намного проще для чтения. Я думаю, что минусы перевешивают плюсы за то, что вы придерживаетесь своего оружия / соглашения, если вы не можете легко его прочитать (так же, как мы, программисты, ненавидим нарушать соглашения и протоколы).
Это произносится как «eye dee», а не «id как в id, эго и суперэго», поэтому ID, а не Id. Во всяком случае, это мой голос. Тот факт, что это аббревиатура, а не аббревиатура, не имеет значения из-за того, как она произносится. Он произносится как аббревиатура, поэтому его можно набирать и так. Да, и верблюжий случай - худшая идея в истории вычислительной техники. :)
Я буду голосовать здесь, но мне все равно!
Это, очевидно, ID . Идеи из глубины!
Я использую подчеркивания во всех именах таблиц, поэтому user_id. Даже если id автономный, он все строчные.
Id
Это мой субъективный ответ на субъективный вопрос.
Я отметил это как CW.
Я тоже использую Camelcase и я также используйте его, если имя заканчивается на Id.
Это не имеет значения, , если вы последовательны в своей программе .
При этом я бы сказал «Id».
Id, как для идентификатора. Предлагаемые Microsoft соглашения об именах указывают, что это рекомендуемая практика, и компиляция с анализом кода будет поддерживать это. Вы бы использовали ID, если он обозначал два слова, начинающиеся соответственно с I и D, и вы действительно не должны использовать имена, начинающиеся с строчных букв, но в параметрах.
Я на самом деле предпочитаю «ID». Но, как все говорят, последовательность важнее всего.
Стив
Вот пример того, что я делаю.
id
userId
getUserId
Ключ согласован.
Идентификатор - это аббревиатура, а не аббревиатура, поэтому я говорю «Идентификатор». Пользовательский интерфейс является аббревиатурой, а сокращения, в любом случае, сокращенными: «UI».