أفضل اسم لمجموعة فهرستها من قبل معرف مع قيمة منطقية

StackOverflow https://stackoverflow.com/questions/203383

  •  03-07-2019
  •  | 
  •  

سؤال

وأحصل على مهووس مع أفضل الأسماء لالمصفوفات والمتغيرات التي تستخدم، وأنا بحث عن الكلمات في المعجم، قاموس، وما إلى ذلك ..

وهكذا أنا أحاول أن اسم هذه المجموعة / هيكل:

$nameMe = array(
    '392' => TRUE,
    '234' => TRUE,
    '754' => TRUE,
    '464' => TRUE,
);

ووانها تستخدم لمعرفة ما اذا كان هذا معرف له خاصية معينة، مثل ذلك

if(isset($name[$id])) {
    doSomething();
}

والمشكلة التي يجري انني اتلقى أسماء المتغيرات طويلة حقا مثل

$propertyNameArrayIdIndexed

وأي أفكار عن كيف يمكن تسمية هذه وظيفة معينة من مجموعة أفضل؟ أو أسماء أفضل بشكل عام

هل كانت مفيدة؟

المحلول

$hasProperty[$id]

أو

$isSomething[$id]

ما هو ملك بالضبط؟

$isOdd[$id]
$isWriteable[$id]
$hasAssociatedFile[$id]

نصائح أخرى

لا بأس أسماء المتغيرات طويلة، طالما أنها تصف ما المتغير يقوم به، وليس كيف انها اعلنت انها أو محددة.

وأود أن إسقاط "صفيف" من أسماء المتغيرات.

وثمة وظيفة التي تستخدم مجموعة يمكن تسمية شيء من هذا القبيل:

وIsPropertyAvailable؟ ($ معرف)

وأو مجرد

وIsAvailable؟ ($ معرف)

وعندما مغلفة بشكل صحيح.

وهكذا يمكن الكشف عن اسمه بنية البيانات المرتبطة بها من أجل الاستعلام عن

و$ availableIds

والمتغيرات اسم من "دورهم" (بالمعنى UML) لا نوعها. لذلك، يجب أن يعتمد الاسم الصحيح للمتغير بدرجة كبيرة على مكان وكيفية استخدامها فيها. ببساطة معرفة نوع هيكل البيانات ليست كافية لاعطائها اسم مناسب. لذلك، ويقول أن لديك تعداد خصائص كل منها قد يكون renderable كرمز. فما استقاموا لكم فاستقيموا يستبعد أي إشارة من نوع، ونعلن ذلك شيء من هذا القبيل Set<Property> displayableIcons.

وحتى إذا كنت تستخدم تدوين المجرية، لا ينبغي أن يكون نوع الفعلي جزء من اسم، ولكن بعض نوع تصفيات أو إشارة من النوع الفرعي الرسمي على ما يرام، مثل String b64JpgMugshot.

وأنت تريد التعليمات البرمجية ليصبح نصها كما مثل الكثير من سهل الانجليزية ممكن. في سهل الانجليزية وكنت في نهاية المطاف مع شيء من هذا القبيل؛

إذا كانت السيارة الحمراء   هل الاشياء سيارة حمراء

وهكذا توصيتي هي لتجنب إدخال computerese لا لزوم لها ( 'مجموعة'، 'الملكية'، 'مؤشر' الخ) في تسمية المتغير. لغة البرمجة الخاصة بك تفرض "isset" عليك. هذا شيء طيب، وهذا يجعل من الواضح أن لديك مجموعة من القيم المنطقية ويعني أنك يمكن القول ببساطة؛

وإذا (isset (أحمر [car_idx]))   تنفيذ DoSomething ()؛

موجز: أعتقد أن مجموعة يجب أن يدعى ببساطة لأن الخاصية التي تحاول اختبار. إذا كان اسم الخاصية غير لطيفة صفة اللغة الإنجليزية إما أن ينطبق على اسما أم لا، وطبيعة منطقية للمجموعة هو واضح حتى من دون isset (). بكل بساطة؛

والأحمر []، مستطيل []، كبير []

وليس IsRed []، IsOblong []، IsLarge [] لأن خارج "هل"، بالإضافة إلى واحد في isset () لا لزوم لها.

وpropertyNameable، IspropertyNameable.

وومجموعة الخاصة بك لن يؤدي الا لاحتواء true؟ إذا كان الأمر كذلك، وانا اقول تغيير بنية البيانات الخاصة بك إلى شيء من هذا القبيل:

$availableIds = array(392, 234, 754, 464);

وثم البيانات if الخاصة بك أكثر وضوحا بكثير:

if (in_array($myId, $availableIds)) { ... }

وأنا مجرد استخدام الداه [].

وأنا أتفق مع المعلقين الآخرين أن يبدو السؤال تفتقر إلى السياق المناسب لتسمية مختصرة المناسبة، ولكن شيئا عام مثل قادرة [ 'فو']، مكن [ 'بار'] أو استعداد [ 'ACK'] قد عمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top