Comments 26
А ведь вы правы. Искать действительно удобно. Но почему так мало библиотек, которые используют префиксы?
+1
Как вариант — можно использовать «ключевые слова» в поиске, довольно сильно сокращает количество левых выдач. Это кэп конечно, но всё же. А так да, Вы правы
0
Меня лично немного напрягает ко всему подряд дописывать префиксы. Гуглить легче, это да, но код для меня получается менее красивым. Неймспэйсы приятнее в этом плане.
+10
Если смотреть на это со стороны «тайм менеджмента», то гуглишь ты 1-2 раза, и пишешь это имя 100 раз (утрирую конечно), но смысл понятен, проще 1 раз загуглить с названием языка, чем по 100 раз дописывать этот индекс… (как пример, тот же автоподстоновщик, чтобы выбрать нужно имя из списка придется набирать прификс). Вот суфиксы в таких библиотеках, как d3d вполне себя оправдывают…
+3
думал о постфиксном варинте, и даже проверял, но понял что мой глаз цепляется за концы идентификаторов и если поставить суффиксы то мне такой код становится пря жутко нечитаемым. Соглашусь про то что набо отнимает некоторое количество времени, но думаю это разумный компромисс.
+1
да и кстати, в flashdevelop подстановщик ищет не с начала фразы, и набор без префикса подсказывает идентификатор с префиксом. Я думаю что и другие ide скоро научаться или уже умеют.
+1
В префиксах есть смысл, хоть и не везде. Например, если есть возможность использовать пространства имен — то префиксы там не нужны, они там будут попросту зря. Для API, не имеющего такие пространства имен, согласен, крайне удобны эти префиксы, например API_Client_BlaBlaBla, которые позволяют сразу определить что это внешнее API и относится оно к модулу работы с клиентами.
+1
Я и не призываю делать их везде. Хотя сам делаю везде.
0
Мне кажется, подобные штуки лучше оборачивать в собственные интерфейсы, иначе в конце концов прямое использование таких API может окончиться плачевно…
0
stackoverflow.com/questions/218123/what-was-the-strangest-coding-standard-rule-that-you-were-forced-to-follow однако вот тут многие считают наоборот
+1
Даже без уникальных имен достаточно дописать название языка/библиотеки.
Например: www.google.ru/m/search?q=Python+date выдает ссылку сразу на описание класса date, хотя имя ни разу не уникально.
Например: www.google.ru/m/search?q=Python+date выдает ссылку сразу на описание класса date, хотя имя ни разу не уникально.
0
Не надо забывать и то, зачем префиксы придуманы: пересечение имён. Я встречал ситуацию, когда библиотека для моделирования физики реализует класс Point, и библиотека для отрисовки реализует свой класс Point. Без префиксов попытка использовать их вместе стала бы некоторой проблемой (пространства имён существенно загромождают код). В общем пару букв всегда писать проще по-моему.
0
Как раз пространства имён отлично это дело разруливают, но вот поиску они, к сожалению, способствуют гораздо хуже.
+1
Да разруливают примерно так: MyGraphics::Point.x = MyPhysics::Point.x. По-моему удобнее так: mgPoint.x = mpPoint.x.
-1
Конкретно тут чисто дело вкуса, привычки и инструмента/языка.
+1
В C# для такого есть алиасы(псевдонимы) типов:
- using MyPoint = GlobalNamespace.Dr.Point; // Here is an alias declaration
- using System.Drawing;
-
- namespace GlobalNamespace
- {
- class Program
- {
- static void Main(string[] args)
- {
- MyPoint my = new MyPoint();
- my.X = 10;
- Point p = new Point();
- p.X = my.X;
- }
- }
- }
* This source code was highlighted with Source Code Highlighter.
0
Надо сказать, что и в C++ тоже есть нечто подобное — typedef. А в коде выше я на самом деле вообще бред написал, обращаясь к не статическому полю как к статическому через имя класса.
0
Про С++ я тоже про typedef подумал, но я не шарю в «плюсах». Мелькнула мысль, что там могут быть какие-то подводные камни, поэтому утверждать ничего не стал.
А про обращение к статическим полям… Ну, это не так важно для рассматриваемого вопроса, имхо. Тут же важен процесс type resolve и имеющийся конфликт имён.
А про обращение к статическим полям… Ну, это не так важно для рассматриваемого вопроса, имхо. Тут же важен процесс type resolve и имеющийся конфликт имён.
0
Все равно довольно спорно. Если есть хорошая документация и активный форум, то вроде как и не нужны префиксы.
+1
UFO just landed and posted this here
Гуглить несомненно удобнее, но вот использовать… Как-то смущает список глобальных имён в IDE на десяток экранов и неудобно использовать автодополнение. Нэймспейсы это не просто другая запись длинных имён с использованием другого разделителя и «лишними» инструкциями, это прежде всего средство иерархической организации кода и инкапсуляции деталей реализации.
+1
Sign up to leave a comment.
О пользе префиксов