соглашения о присвоении имен блока

Принятие Вас имеет пространство имен, которое полезно больше чем для одного проекта в Вашей компании в формате "MyCompany. Ядро", было бы Вы называть блок точно тот же путь или просто "Ядро". Почему или почему нет?

5
задан Berryl 2 February 2010 в 23:48
поделиться

3 ответа

Используйте стандартные соглашения об именах .NET, имена сборок рассматриваются здесь . Я сохраню (краткое) прочтение:

Выбирайте имена для библиотек DLL сборки , которые предлагают большие фрагменты функций , такие как System.Data. Сборка и Имена DLL не обязательно должны соответствовать именам пространств имен, но разумно следовать имени пространства имен при именовании сборок.

Рассмотрите возможность именования библиотек DLL в соответствии со следующим шаблоном :
<Компания>. <Компонент> .dll
Где <Компонент> содержит один или несколько {{1} } разделенные точками предложения.

Например, Contoso.WebControls.dll.

13
ответ дан 18 December 2019 в 06:11
поделиться

Я бы назвал сборку так же, как и имен корневого пространства. Это позволяет легко выяснить, какой код находится в каком сборке, и предотвращает столкновения с другими проектами (от других компаний), которые могут также использовать неоднозначное имя «Core.dll».

4
ответ дан 18 December 2019 в 06:11
поделиться

Все приведенные примеры не работают с 12:00 до 12:59. Они также выдают ошибку, если регекс не соответствует времени. Следующая обработка:

 функция parseTime (timeString) {if (timeString = ") возвращает null; var time = timeString.match (/(\d +) (: (\d\d)) ?\s * (p? )/i); if (time = = null) возвращает null; var hours = parseInt (время [1], 10); если (hours = = 12 & &! time [4]) {hours = 0;} else {hours + = (hours < 12 & & time [4])? 12:0;} var d = новая дата (); d.setHours (часы); d.setMinutes (parseInt (время [3], 10) | | 0); d.setSeconds (0, 0); возвратить d;} вар проверяет = ['13:00', '13:00', '1:00 p', '13:00', '1:00p.m'., '1:00p', '13:00', '13:00', '1 p', '13:00', '1p.m '., '1p', '13:00', '13', '1a', '12', '12a', '12p', '12:00', '12:00', '2400am', '2400pm', '2400', '1000', '100', '123', '2459', '2359', '2359am', '1100', '123p', '1234', '1', '9', '99', '999', '9999', '99999', '0000', '0011', '-1', 'mioaw']; для (var i = 0; i < tests.length; i++) {console.log (тесты [i] .padStart (9, ') + «=» + parseTime (тесты [i]));} 

Это будет работать для последовательностей, которые содержат время в любом месте внутри них. Итак, «abcde12: 00pmdef» будет проанализирован и вернется 12 полдень. Если желаемый результат состоит в том, что он возвращает только время, когда последовательность содержит только время в них, можно использовать следующее регулярное выражение, если заменить «time [4]» на «time [6]».

/^(\d+)(:(\d\d))?\s*((a|(p))m?)?$/i
-121--931488-

Я считаю, что лучше (мнение здесь!) назвать сборку после корневого пространства имен, которое она содержит, в вашем случае MyCompany.Core.dll . Вы никогда не знаете, сделает ли этот файл его путем за пределами компании, и держать трек о нем просто проще в целом.

Представьте, если Microsoft назвал System.Core просто Core.dll (System.Core) , то у вас был Core.dll (MyCompany.Core) .... вы представляете, как это становится волосатым быстро.

5
ответ дан 18 December 2019 в 06:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: