Это определенно субъективно, и в разное время (работая с разными библиотеками и даже с разными языками) я всегда использовал такие префиксы и никогда не использовал их - смешивание этого соглашения с отказом от его использования часто было бы ошибкой. Решите, какой из них наиболее ясен, исходя из контекста, включая то, что уже делается в этом проекте / библиотеке / и т. Д.
Например, obj.DataIsCopied()
лучше подходит для носителей английского языка, но тогда у вас есть !obj.DataIsCopied()
(или not
). Вы должны признать, что вы пишете код и нуждаетесь в соглашениях, и эти соглашения субъективно добавляют значение (в описательном смысле).
Кроме того, я ожидаю, что любой метод с именем Verify
выполнит некоторую «реальную» работу для проверки, в то время как Is
должен либо вернуть предварительно вычисленное / уже доступное значение, либо вычислить его тривиально. На языках, где у вас есть свойства, это гораздо проще выразить, поскольку вы можете отделить вещи, которые являются «действиями», от тех, которые не являются таковыми. Например. с использованием if (obj.data_copied)
, является ли это членом данных или тривиальной функцией, такой как IsDataCopied, инкапсулируется.